我希望逐个元素地阅读pandas DataFrame,但看起来下面的代码不起作用!
import pandas as pd
df = pd.DataFrame()
df1 = pd.DataFrame({"A": [2,3,4]})
df2 = pd.DataFrame({"B": [5,6,7]})
df = pd.concat([df1, df2], axis=1)
for row in df.iterrows():
print row['A'], row['B']
按元素逐元访问它的正确方法是什么?
答案 0 :(得分:1)
使用at
和iat
详细here
由于使用[]进行索引必须处理很多情况(单标签 访问,切片,布尔索引等),它有一点开销 为了找出你所要求的东西。如果您只想访问 一个标量值,最快的方法是使用at和iat方法, 它们在所有数据结构上实现。
与loc类似,at提供基于标签的标量查找,而iat 类似于iloc提供基于整数的查找
答案 1 :(得分:0)
这个怎么样:
import pandas as pd
df = pd.DataFrame()
df1 = pd.DataFrame({"A": [2,3,4]})
df2 = pd.DataFrame({"B": [5,6,7]})
df = pd.concat([df1,df2], axis=1)
for row in df.index:
print df['A'][row],df['B'][row]
输出:
2 5
3 6
4 7
答案 2 :(得分:0)
在这种情况下,以下内容适用于iterrows
:
>>> for _, row in df.iterrows():
print row.A, row.B
2 5
3 6
4 7