这里是熊猫新手。我有一个数据框,某些值为“?”我已成功将其替换为“ NaN”。我想用列的平均值替换“ NaN”,但是,我遇到了一个问题,即“ NaN”没有被删除。根据下面的内容,我已经查看了下面的解决方案,但是它不起作用。
pandas DataFrame: replace nan values with average of columns
代码:
df = pd.DataFrame(cancer)
print(df)
df['A7'] = df['A7'].replace(['?'],"NaN")
print(df)
# the code below is where my issue arises
df.fillna(df.mean())
print(df)
之前?被NaN代替:
Scn A2 A3 A4 A5 A6 A7 A8 A9 A10 CLASS
[.....]
21 1054593 10 5 5 3 6 7 7 10 1 4
22 1056784 3 1 1 1 2 1 2 1 1 2
23 1057013 8 4 5 1 2 ? 7 3 1 4
在将NaN替换为均值之前:
Scn A2 A3 A4 A5 A6 A7 A8 A9 A10 CLASS
[.....]
21 1054593 10 5 5 3 6 7 7 10 1 4
22 1056784 3 1 1 1 2 1 2 1 1 2
23 1057013 8 4 5 1 2 NaN 7 3 1 4
将NaN替换为平均值后:
Scn A2 A3 A4 A5 A6 A7 A8 A9 A10 CLASS
[.....]
21 1054593 10 5 5 3 6 7 7 10 1 4
22 1056784 3 1 1 1 2 1 2 1 1 2
23 1057013 8 4 5 1 2 NaN 7 3 1 4
我不确定自己做错了什么。