基本上,我有一个查询返回一个数据帧并逐行我想使用该行的元素作为下一个查询的参数来生成新查询——该示例遍历了一个简化版本并理解它应该足够了!
>>> import pandas as pd
>>> df2 = pd.DataFrame({'a' : ['colorado', 'california', 'texas', 'oregon'], 'b' : ['go buffs', 'go bears', 'go sooners', 'go ducks'], 'c' : [14,14,15,13]})
>>> df2
a b c
0 colorado go buffs 14
1 california go bears 14
2 texas go sooners 15
3 oregon go ducks 13
#Print element by element in column
>>> for x in df2['a']:
... print x
...
colorado
california
texas
oregon
#What I want is to print full ROWS
>>> df3 = df2.loc[:, ['a','b']]
>>> df3
a b
0 colorado go buffs
1 california go bears
2 texas go sooners
3 oregon go ducks
#I want to get something like
#for x, y in df3['a','b']:
# print 'in %s say %s!'%(x,y)
#and get:
#in colorado say go buffs!
#in california....etc
#How do I do that!?
最佳答案
您可以在遍历数据框时展开元组,然后只打印您想要的列:
for row in df2.itertuples():
index, a, b, c = row
print 'in %s say %s!'%(a,b)
in colorado say go buffs!
in california say go bears!
in texas say go sooners!
in oregon say go ducks!
或者,您可以使用 iterrows
,正如@DSM 指出的那样,它会返回具有嵌套值的索引(实际上是一个系列):
for row in df2.iterrows():
index, data = row
print 'in %s say %s!' % (data['a'], data['b'])
这也将输出与第一个代码片段相同的结果
关于python - 需要一些基本的 Pandas 帮助——尝试逐行打印数据框并对该行的特定列中的元素执行操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19529402/