如何在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对象是什么以及如何使用它。