gpt4 book ai didi

python - 用 Pandas 中的平均值和众数替换缺失值

转载 作者:太空宇宙 更新时间:2023-11-03 14:39:17 29 4
gpt4 key购买 nike

我在 Pandas 中有以下数据框

 C1      C2       C3
10 a b
10 a b
? c c
? ? b
10 a b
10 ? ?

我想在适用的地方用平均值和众数替换 ?

我想要的数据框是

 C1      C2       C3
10 a b
10 a b
10 c c
10 a b
10 a b
10 a b

我试过在 pandas 中跟随但没有成功。

 df[df['C1'] == '?'] = df[df['C1' != '?'].mean()

最佳答案

您需要分别处理数字列和非数字列

df.replace('?', np.nan, inplace = True)

df['C1'] = df['C1'].astype(float)
df['C1'] = df['C1'].astype(float).fillna(df['C1'].mean())

non_numeric = ['C2', 'C3']
df[non_numeric]=df[non_numeric].fillna(df.mode().iloc[0])

C1 C2 C3
0 10.0 a b
1 10.0 a b
2 10.0 c c
3 10.0 a b
4 10.0 a b
5 10.0 a b

关于python - 用 Pandas 中的平均值和众数替换缺失值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54702999/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com