如何在Pandas中对DataFrame的行进行迭代?
我有一个来自pandas的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
现在我想在这个框架的行上进行迭代。对于每一行,我希望能够通过列的名称来访问其元素(单元格中的值)。比如说。
for row in df.rows:
print row['c1'], row['c2']
在pandas中可以这样做吗?
我找到了这个类似问题。但它并没有给出我需要的答案。例如,那里建议使用。
for date, row in df.T.iteritems():
或
for row in df.iterrows():
但我不明白什么是 "row "对象,以及我怎样才能使用它。
1527
3
DataFrame.iterrows是一个生成器,可以同时产生索引和行。
你应该使用
df.iterrows()
。尽管逐行迭代并不是特别有效,因为必须创建Series对象。你也可以使用
df.apply()
来迭代行和访问一个函数的多列。文档:DataFrame.apply()。