我有一個 Pandas df 列“文本”,如下所示:
| 文本 |
|---|
| 阿茲特克人 |
| 蘋果 |
| 瑪雅人 |
| 克里斯托弗 |
| 香蕉 |
| 馬丁 |
我有一個整數作為鍵和串列作為值的字典。例如,
d = {1023: ['Aztecs', 'Mayans'], 2213: ['Apple','Banana'], 3346: ['Christopher', 'Martin']}
我想替換 df['text'] 中的每個值以獲得字典中的相應鍵。我對如何解決這個問題感到困惑!
我的 df 最終應該是這樣的:
| 文本 |
|---|
| 1023 |
| 2213 |
| 1023 |
| 3346 |
| 2213 |
| 3346 |
uj5u.com熱心網友回復:
創建一個逆字典并使用.map:
inv_d = {vv: k for k, v in d.items() for vv in v}
df["text 2"] = df["text"].map(inv_d)
print(df)
印刷:
text text 2
0 Aztecs 1023
1 Apple 2213
2 Mayans 1023
3 Christopher 3346
4 Banana 2213
5 Martin 3346
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/513792.html
標籤:Python熊猫字典
上一篇:列沒有出現在熊貓中?
