我正在尝试使用 for 循环获取数据框中的某些数据。但是当我运行循环时,我得到的只是数据的索引,而不是行中显示的值
import pandas as pd
import numpy as np
data = {'time' : [1,2,3,4,5,6,7,8,9,10,11,12], 'values'[290,260,288,300,310,303,329,340,316,330,308,310]}
df = pd.DataFrame(data)
for i in df:
print(i)
我只得到索引而不是值
我也试过:
for index , values in df:
print(values)
它给我这个错误: 无法解压不可迭代的 int 对象
我知道 iterrows 给我行,但我希望它作为一个完整的数据框而不是每一行
最佳答案
尝试使用 DataFrame.iterrows()
:
for index,row in df.iterrows():
print(row)
# each row is a pd.Series object so to access any values call row['column_name']
time,value = row['time'],row['value']
print(time,value)
注意: 无论如何,我想评论一下,不建议在 pandas 中使用这种类型的操作,因为它是一种非矢量化解决方案,与矢量化操作相比缺乏性能,我建议你在互联网上寻找矢量化...祝你好运: )
关于python - for循环获取 Pandas 中的数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65578905/