【问题标题】:Python Function to fill nan values based on another columnPython函数根据另一列填充nan值
【发布时间】:2020-10-08 21:51:34
【问题描述】:

我有一个这样的数据集

Ticket    Cabin
123       Nan
162       B14
123       C12
122       D13
162       Nan
122       Nan

所以我想根据 Ticket 值填充 Nan 值,例如结果是

Ticket    Cabin
123       C12
162       B14
123       C12
122       D13
162       B14
122       D13

我们有什么功能或方法可以做到这一点吗?

【问题讨论】:

  • 你想用什么来填充那些 'Nan' 值?这是您正在阅读的文件吗?你想要一个文件作为输出吗?请展开您的问题。
  • 他想要什么:拿一份cabinet,删除Nans,并用它来替换原来Cabin栏中的Nan。如果 Nans 多于值,我会周期性地猜测?

标签: python dataframe machine-learning


【解决方案1】:

创建票证到非空客舱值的映射,然后使用它来回填其他行:

df['Cabin_Filled'] = df['Ticket'].map(df.groupby('Ticket')['Cabin'].first())
df

   Ticket Cabin Cabin_Filled
0     123   NaN          C12
1     162   B14          B14
2     123   C12          C12
3     122   D13          D13
4     162   NaN          B14
5     122   NaN          D13

【讨论】:

    猜你喜欢
    • 2021-01-24
    • 2021-01-22
    • 1970-01-01
    • 2020-11-26
    • 1970-01-01
    • 2021-03-16
    • 2014-11-05
    • 2020-02-17
    • 1970-01-01
    相关资源
    最近更新 更多