首页 > 解决方案 > 仅使用 panda 替换数据框中的值(不使用 numpy)

问题描述

我有一个熊猫数据框 df ,如下所示。

INDEX NAME    AGE  HEIGHT  ENGLISH  
0     a      19.0       5      NaN     
1     g      NaN        2    100.0   
2     j      82.0       2     NaN  

我想用年龄的平均值替换 AGE 下的“NaN”,用其他两个值替换英语下的“NaN”。如果不使用 numpy 而只使用 pandas,这可能吗?

标签: pythonpandas

解决方案


是的,您可以使用df['column_name'].mean(). 将此与fillna()功能结合起来,您将得到您想要的:

df = pd.DataFrame({'Age' : [19.0, np.nan, 82.0], 'ENGLISH' : [np.nan, 100.0, np.nan]})

df.fillna(value = {'Age' : df['Age'].mean(), 'ENGLISH' : df['ENGLISH'].mean()},
          inplace = True)

     Age   ENGLISH
0   19.0    100.0
1   50.5    100.0
2   82.0    100.0

推荐阅读