在熊猫中用平均值和模式替换缺失值

我在熊猫中有以下数据框


 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 

我试过跟随熊猫,但没有奏效。


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


慕码人8056858
浏览 233回答 1
1回答

白衣染霜花

您需要分别处理数字和非数字列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  C30   10.0    a   b1   10.0    a   b2   10.0    c   c3   10.0    a   b4   10.0    a   b5   10.0    a   b
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python