[英]Python Function to fill nan values based on another column
I have a dataset like this我有一个这样的数据集
Ticket Cabin
123 Nan
162 B14
123 C12
122 D13
162 Nan
122 Nan
So I want to fill Nan values based on Ticket values such as the result is所以我想根据 Ticket 值填充 Nan 值,例如结果是
Ticket Cabin
123 C12
162 B14
123 C12
122 D13
162 B14
122 D13
Is there any function or way we could do this?有没有 function 或我们可以做到这一点的方法?
Create a mapping of tickets to non-null Cabin values, then use this to backfill other rows:创建票证到非空客舱值的映射,然后使用它回填其他行:
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.