我有一個 .csv 和資料框,它有 2 列(國家、大陸)。我想創建一個字典,將大陸作為鍵,并將所有國家的串列作為值。
.csv 具有以下格式:
| 國家 | 大陸 |
|---|---|
| 阿爾及利亞 | 非洲 |
| 安哥拉 | 非洲 |
等等。
我嘗試使用:
continentsDict = dict([(con, cou) for con, cou in zip(continents.continent, continents.country)])
但這給了我以下輸出:
{'Africa': 'Zimbabwe', 'Asia': 'Yemen', 'Europe': 'Vatican City', 'North America': 'United States Virgin Islands', 'Oceania': 'Wallis and Futuna', 'South America': 'Venezuela'}
這是正確的格式,但只添加了為相應大陸找到的最后一個值。
任何人的想法?
謝謝!
uj5u.com熱心網友回復:
假設大洲是您的熊貓 df 的實體,您可以這樣做:
continentsDict = continents.groupby("continent")["country"].apply(list).to_dict()
uj5u.com熱心網友回復:
鑒于:
country continent
0 Algeria Africa
1 Angola Africa
正在做:
out = df.groupby('continent')['country'].agg(list).to_dict()
print(out)
輸出:
{'Africa': ['Algeria', 'Angola']}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/513611.html
