如何在Pandas中的DataFrame中的行上进行迭代 [英] How to iterate over rows in a DataFrame in Pandas

查看:107
本文介绍了如何在Pandas中的DataFrame中的行上进行迭代的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我从熊猫那里有一个 DataFrame

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

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

Now I want to iterate over the rows of this frame. For every row I want to be able to access its elements (values in cells) by the name of the columns. For example:

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

在熊猫市有可能做到这一点吗?

Is it possible to do that in Pandas?

我发现了这个类似的问题。但这并不能给我我所需的答案。例如,建议在那里使用:

I found this similar question. But it does not give me the answer I need. For example, it is suggested there to use:

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

for row in df.iterrows():

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

But I do not understand what the row object is and how I can work with it.

推荐答案

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

DataFrame.iterrows is a generator which yields both the index and row (as a Series):

import pandas as pd
import numpy as np

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

这篇关于如何在Pandas中的DataFrame中的行上进行迭代的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆