📌  相关文章
📜  python fillna 在数据框中具有平均值 - Python (1)

📅  最后修改于: 2023-12-03 15:18:55.267000             🧑  作者: Mango

python fillna 在数据框中具有平均值 - Python

缺失值是数据分析中常见的问题之一,它们常常影响到数据的准确性和分析结果的可靠性。fillna是pandas库中一个用于处理缺失值的函数,它可以将缺失值填充为指定的值,例如平均值。

填充缺失值为平均值的方法

可以使用pandas库中的fillna函数来填充缺失值为平均值,如下所示:

import pandas as pd

#创建一个包含缺失值的数据框
df = pd.DataFrame({'A': [1, 2, None, None], 'B': [5, None, 7, 8], 'C': [9, 10, 11, None]})
print(df)

#将缺失值填充为平均值
df.fillna(df.mean(), inplace=True)
print(df)

运行结果如下:

     A    B     C
0  1.0  5.0   9.0
1  2.0  NaN  10.0
2  NaN  7.0  11.0
3  NaN  8.0   NaN

          A    B     C
0  1.000000  5.0   9.0
1  2.000000  6.666667  10.0
2  1.500000  7.0  11.0
3  1.500000  8.0  10.0

可以看到,在数据框中缺失值被填充为相应列的平均值。fillna函数返回一个新的数据框,原始数据框不会被更改,因此需要使用inplace参数将其更改。

填充缺失值的方法

fillna函数还有其他填充方法,例如使用前面的值来填充缺失值,使用后面的值来填充缺失值,使用插值方法来填充缺失值等等。下面是一些示例:

#使用前面的值来填充缺失值
df.fillna(method='ffill', inplace=True)
print(df)

#使用后面的值来填充缺失值
df.fillna(method='bfill', inplace=True)
print(df)

#使用插值方法来填充缺失值
df.interpolate(inplace=True)
print(df)

输出结果如下:

     A    B     C
0  1.0  5.0   9.0
1  2.0  5.0  10.0
2  2.0  7.0  11.0
3  2.0  8.0  11.0

     A    B     C
0  1.0  5.0   9.0
1  2.0  7.0  10.0
2  1.5  7.0  11.0
3  1.5  8.0  NaN

     A    B     C
0  1.0  5.0   9.0
1  2.0  6.0  10.0
2  1.5  7.0  11.0
3  1.5  8.0  10.5

通过上述代码,我们可以将填充缺失值的方法灵活应用于不同的问题和数据集中。