如何在 Pandas 中遍历 DataFrame 中的行

问题描述

DataFrame.iterrows 是一个生成器,它同时产生索引和行(作为一个系列):

import pandas as pd

df = pd.DataFrame({'c1': [10, 11, 12], 'c2': [100, 110, 120]})

for index, row in df.iterrows():
    print(row['c1'], row['c2'])


10 100
11 110
12 120

解决方法

我有一个DataFrame来自pandas的:

import pandas as pd
inp = [{'c1':10,'c2':100},{'c1':11,'c2':110},{'c1':12,'c2':120}]
df = pd.DataFrame(inp)
print df

输出:

   c1   c2
0  10  100
1  11  110
2  12  120

现在我想遍历这个框架的行。对于每一行,我希望能够通过列名访问其元素(单元格中的值)。例如:

for row in df.rows:
   print row['c1'],row['c2']

在 Pandas 中可以做到这一点吗?

我发现了这个类似的问题。但它并没有给我我需要的答案。例如,建议使用:

for date,row in df.T.iteritems():

或者

for row in df.iterrows():

但我不明白row对象是什么以及如何使用它。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...