Python 遍历每一行

Python 遍历每一行,python,pandas,Python,Pandas,没有任何问题涉及这一具体问题: 我想遍历数据帧的行。具体来说,在每一行中,我想通过列名来调用。有办法做到这一点吗?如果是,请演示 我熟悉df[][],但我认为这不能解决问题。也许我可以将其与转置函数混合使用,但这样我就失去了对数据类型的跟踪,对吗 例如,如果我们有 a b c d i1 1 1 2 1 i2 2 2 1 1 我想说: for f in some_iterator(): print 'a is ' str(f['a']) print f['b'] +

没有任何问题涉及这一具体问题:

我想遍历数据帧的行。具体来说,在每一行中,我想通过列名来调用。有办法做到这一点吗?如果是,请演示

我熟悉
df[][]
,但我认为这不能解决问题。也许我可以将其与转置函数混合使用,但这样我就失去了对数据类型的跟踪,对吗

例如,如果我们有

    a b c d
 i1 1 1 2 1
 i2 2 2 1 1
我想说:

for f in some_iterator():
    print 'a is ' str(f['a'])
    print f['b'] + f['c']
    #skip f['d']
但就目前情况而言,我不能依赖列名,在本例中是“a,b,c,d”来完成此操作。

df
成为pandas.DataFrame对象

我们可以通过以下方式迭代行:

for row in df.iterrows():
    print str(row[0]) + " is the index of the row"
    print str(row[1]) + " is a series with rows having \
    labels the same as the columns of the dataframe"

“按列名呼叫”是什么意思?不做你想做的事?不做。它似乎是以表格的形式表达出来的,而不是什么?数据帧本质上是表格式的。请澄清你到底想做什么。希望这能澄清问题?感谢@BrenBarn
iterrows
这样做,您只需使用它产生的每个元组的第二个元素。(你需要做
f['a']
,而不是
f[a]
f[a]
是不可能工作的。)注意,你也可以对df.iterrows()中的索引行执行
,并分别获取索引和行,而不必按索引访问它们。