python - Pandas 通过迭代现有的 df 行创建单独的 df
问题描述
我有一个熊猫df:
import pandas as pd
data = {'animal': ['Cow', 'Mouse', 'Horse', 'Dog', 'Cat'],
'age': [12, 1, 23, 4, 5],
'reports': [4, 24, 31, 2, 3],
'id': [234, 745, 732, 245, 232]}
df = pd.DataFrame(data)
df
我如何遍历 pandas df 中的每一行并根据每一行创建一个单独的 df?例如,我可以遍历每一行,如下所示并打印animal
列,但最终我试图弄清楚如何迭代每一行并为每一行创建一个单独df
的行,df
名称将是animal
行值。
for index, row in df.iterrows():
print(row['animal'])
希望这是有道理的..
解决方案
您可以使用字典:
animals = {}
for index, row in df.iterrows():
animals[row['animal']] = pd.DataFrame([dict(row)])
要打印Dog
数据框,我可以执行以下操作:
>> print(animals['Dog'])
animal age reports id
0 Dog 4 2 245
推荐阅读
- node.js - 无法将 Node.js 应用程序与 MongoDB Atlas 连接
- python - 添加新创建的对象时的困惑 - Django REST Framework
- javascript - javascript如何返回具有键值的对象
- javascript - React Native react-native-responsive-screen 包在某些设备上不起作用
- java - Solr 8.9 中的 FileNotFoundException
- javascript - 为什么我们要将对象转换为 JSON 字符串化然后再转换回对象?
- php - 如何使用 JSON laravel 动态显示轮播图像
- c# - 仅在某些页面上的 RTF 页码
- python - 使用通配符从目录中查找和复制文件
- selenium - 如何在 Appium 中下载 android 设备