亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

基于其他列熊貓填充缺失值

基于其他列熊貓填充缺失值

肥皂起泡泡 2021-07-20 17:00:47
我想根據熊貓中的其他列填充缺失值。這是我的表:Gender     MarriedMale       YesMale       YesFemale     NoFemale     NoMale       NaNFemale     NaN如果性別為男性,我將填充已婚字段的缺失值 -> 已婚為是,否則已婚為否:df['Married'].fillna(df[df['Married'].isnull()].apply(lambda x: 'Yes' if (df[df['Married'].isnull()]['Gender'] is 'Male') else 'No', axis=1), inplace=True)但它失敗了,我嘗試了很多方法,但沒有得到預期的結果。我希望收到你們所有人。
查看完整描述

1 回答

?
慕尼黑8549860

TA貢獻1818條經驗 獲得超11個贊

我相信你需要map有dictionary只在過濾行:


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

另一個解決方案numpy.where:


mask = df['Married'].isnull()

df.loc[mask, 'Married'] = np.where(df.loc[mask, 'Gender']  == 'Male', 'Yes','No')

print (df)

   Gender Married

0    Male     Yes

1    Male     Yes

2  Female      No

3  Female      No

4    Male     Yes

5  Female      No

fillna映射的另一個解決方案Series:


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


查看完整回答
反對 回復 2021-07-21
  • 1 回答
  • 0 關注
  • 200 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號