【问题标题】:fill null values in a column of pandas dataframe在熊猫数据框的列中填充空值
【发布时间】:2020-11-19 12:36:29
【问题描述】:

我有一个超过 4 列的 pandas 数据框。 col1 中的某些值缺失,我想根据以下方法设置这些缺失值:

  1. 尝试根据具有相同 col2、col3、col4 值的记录的 col1 值的平均值进行设置
  2. 如果没有这样的记录,则根据具有相同col2,col3值的记录的col1值的平均值设置它
  3. 如果仍然没有这样的记录,则根据具有相同col2值的记录的col1值的平均值设置它
  4. 如果以上都找不到,请将其设置为 col1 中所有其他非缺失值的平均值

最好的方法是什么?

【问题讨论】:

标签: python pandas dataframe missing-data


【解决方案1】:

根据您的逻辑,您可以执行以下操作,其中fillna 的每一行对应于您问题中的一个要点,顺序相同:

df['col1'] = (df['col1']
               .fillna(df.groupby(['col2','col3','col4'])['col1'].transform('mean'))
               .fillna(df.groupby(['col2','col3'])['col1'].transform('mean'))
               .fillna(df.groupby(['col2'])['col1'].transform('mean')
               .fillna(df['col1'].mean())
             )

【讨论】:

    猜你喜欢
    • 2016-01-16
    • 1970-01-01
    • 1970-01-01
    • 2019-11-30
    • 1970-01-01
    • 1970-01-01
    • 2020-06-06
    • 2020-07-14
    • 1970-01-01
    相关资源
    最近更新 更多