for循环以获取Pandas中的数据框

我正在尝试使用 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 中使用这种类型的操作,因为它是一种非矢量化的解决方案,与矢量化操作相比缺乏性能,我建议你在互联网上寻找矢量化......好运气 :)


以上是for循环以获取Pandas中的数据框的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>