2 回答

TA貢獻1805條經驗 獲得超9個贊
默認情況下,您可以通過原始 DataFrame創建輔助 DataFrameDataFrame.from_dict和DataFrame.join到原始 DataFrame 左連接:
df = pd.DataFrame({'cntr':['CN','CH']})
cntrmap = {"CN":["China","Asia"],"CH":["Switzerland","Europe"]}
df1 = pd.DataFrame.from_dict(cntrmap, orient='index', columns=['name','region'])
df = df.join(df1, on='cntr')
print (df)
cntr name region
0 CN China Asia
1 CH Switzerland Europe
如果為map以下內容創建 2 個字典,您的解決方案有效:
map1 = {k:v[0] for k, v in cntrmap.items()}
map2 = {k:v[1] for k, v in cntrmap.items()}
df['name'] = df['cntr'].map(map1)
df['region'] = df['cntr'].map(map2)

TA貢獻1810條經驗 獲得超4個贊
可以通過以下方式實現相同的目標map:
df.join(pd.DataFrame(df['cntr'].map(m).tolist(), columns=['name', 'region']))
輸出:
cntr name region
0 CN China Asia
1 CH Switzerland Europe
添加回答
舉報