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()中的索引行执行,并分别获取索引和行,而不必按索引访问它们。