在Pandas中,可以使用Pandas库提供的fillna()函数将缺失值(NaN)替换为指定的值。具体而言,可以用均值(mean)填充NaN值。
假设我们有一张名为df的数据框(DataFrame),它包含三列数据,其中某些值是NaN(即缺失值),需要用均值来填充这些NaN值。以下是如何做到的:
- 计算均值
可以使用Pandas的mean()函数来计算包含NaN值的Series的均值,指定skipna=True可以跳过NaN值:
import pandas as pd
# 假设df为包含NaN值的数据框
# 求df每列的均值
means = df.mean(skipna=True)
# 打印均值
print(means)
- 用均值来填充NaN值
用fillna()方法将缺失值替换为均值,指定inplace=True可以直接替换原来的数据:
# 用均值填充df中的NaN值
df.fillna(value=means, inplace=True)
# 打印填充后的df
print(df)
完整代码如下:
import pandas as pd
# 创建数据框
data = {'A': [1, 2, None, 4, 5],
'B': [None, 4, 5, 6, None],
'C': [1, 2, 3, 4, 5]}
df = pd.DataFrame(data)
# 求每列的均值
means = df.mean(skipna=True)
# 用均值填充df中的NaN值
df.fillna(value=means, inplace=True)
# 打印填充后的df
print(df)
输出结果如下:
A B C
0 1.0 4.5 1
1 2.0 4.0 2
2 3.0 5.0 3
3 4.0 6.0 4
4 5.0 4.5 5
以上就是在Pandas中使用均值填充NaN值的详细步骤。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何在Pandas中用平均值填充NAN值 - Python技术站