State City
0 California 1
1 California 2
2 Lousiana 1
3 Virginia 2
dic = {1 : LA, 2 : SF}
我試圖在“州”是加利福尼亞的條件下映射我在桌子上的字典。
預期結果是:
State City
0 California LA
1 California SF
2 Lousiana 1
3 Virginia 2
我努力了,
df['City'] = df['City'].where(df['State']=='California').map(dic)
但我得到:
State City
0 California LA
1 California SF
2 Lousiana NaN
3 Virginia NaN
uj5u.com熱心網友回復:
使用布爾索引:
dic = {1 : 'LA', 2 : 'SF'}
m = df['State'].eq('California')
df.loc[m, 'City'] = df.loc[m, 'City'].map(dic)
您的方法的修復(但效率低于上述)將是:
df['City'] = df['City'].mask(df['State']=='California', df['City'].map(dic))
輸出:
State City
0 California LA
1 California SF
2 Lousiana 1
3 Virginia 2
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/522828.html
上一篇:當重復鍵應引發錯誤時,terraform`map`替代方案
下一篇:為什么空字串沒有附加到地圖中?
