在其他列中基于其他值填充缺失的值的Pandas方法

2024-06-02 13:55:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我想根据pandas中的其他列来填充缺失的值。 这是我的桌子:

Gender     Married
Male       Yes
Male       Yes
Female     No
Female     No
Male       NaN
Female     NaN

如果性别为男性,我将填写“已婚”字段中的缺失值->;“已婚”为“是”,否则“已婚”为“否”:

^{pr2}$

但是失败了,我尝试了很多方法,却没有达到我的期望。 我希望收到你们所有人的来信。在


Tags: 方法nogtpandasnangendermalefemale
1条回答
网友
1楼 · 发布于 2024-06-02 13:55:19

我相信您只需要在筛选行中使用dictionary的{a1}:

mask = df['Married'].isnull()
df.loc[mask, 'Married'] = df.loc[mask, 'Gender'].map({'Male':'Yes', 'Female':'No'})
print (df)
   Gender Married
0    Male     Yes
1    Male     Yes
2  Female      No
3  Female      No
4    Male     Yes
5  Female      No

另一个带有^{}的解决方案:

^{pr2}$

另一个具有映射的^{}的解决方案:

df['Married'] = df['Married'].fillna(df['Gender'].map({'Male':'Yes', 'Female':'No'}))

相关问题 更多 >