📅  最后修改于: 2023-12-03 15:18:55.267000             🧑  作者: Mango
缺失值是数据分析中常见的问题之一,它们常常影响到数据的准确性和分析结果的可靠性。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
通过上述代码,我们可以将填充缺失值的方法灵活应用于不同的问题和数据集中。