python - 使用循环从 Pandas 列构建 Python 字典
问题描述
我有一个熊猫数据框
**Breed Animal**
Orange Tab Cat
Tuxedo Cat
Tabby Cat
Husky Dog
Golden Dog
Labrador Dog
Poodle Dog
Koi Fish
Fantail Fish
GoldFish Fish
并想创建一个这样的字典
mydict = {
"Cat": ['Orange Tab', 'Tuxedo', 'Tabby'],
"Dog": ['Husky','Golden','Labrador','Poodle'],
"Fish": ['Koi','Fantail','GoldFish']
}
我从来没有用 Pandas 数据框处理过字典,所以我不知道从哪里开始。我想我必须使用嵌套的 for 循环,但不知道如何遍历数据框中的 Animal 部分。
提前致谢。
解决方案
你可以使用pandas.DataFrame.groupby:
df.groupby('Animal**')['**Breed'].agg(list).to_dict()
输出:
{'Cat': ['Orange Tab', 'Tuxedo', 'Tabby'],
'Dog': ['Husky', 'Golden', 'Labrador', 'Poodle'],
'Fish': ['Koi', 'Fantail', 'GoldFish']}
推荐阅读
- single-sign-on - 为 CAS Apereo 版本 cas-overlay-template-6.0 启用 REST 服务
- css - 更改边框自动完成 vuetify
- javascript - 按下 Enter 键时使用 JavaScript 触发按钮单击
- swift - 如何检查 Parse 是否已经初始化
- java - 如何在 Java 中选择 HashMap 的负载因子?
- c - sendmmsg() return -1,没有可用的缓冲区空间,为什么memset解决了这个问题?
- raku - 如何为 Raku NativeCall 声明“LPTSTR”?
- excel - 使用宏创建表
- javascript - 加密/解密二进制数据 crypto-js
- javascript - 在已定义的 JSON 文件中写入键的新值