【问题标题】:Pandas iterate over three rowsPandas 遍历三行
【发布时间】:2019-10-26 19:50:49
【问题描述】:

根据这些问题Pandas iterate over DataFrame row pairs

我想像上面的问题一样遍历三行,但我觉得很难。

for (indx1,row1),(indx2,row2) in zip(df[:-1].iterrows(),df[1:].iterrows()):
    print "row1:\n", row1
    print "row2:\n", row2
    print "\n"

这些是迭代两行的解决方案中的代码,我想修改这些代码,使其可以迭代三行。

我正在尝试df.index//3df[::3],但这不是我想要的。 帮帮我

【问题讨论】:

    标签: python pandas for-loop row


    【解决方案1】:
    for (indx1,row1),(indx2,row2),(indx3,row3) in zip(
        df[:-2].iterrows(),df[1:-1].iterrows(),df[2:].iterrows()):
    
        print "row1:\n", row1
        print "row2:\n", row2
        print "row3:\n", row3
        print "\n"
    

    这就是你要找的吗?顺便说一句,是时候和 Python2 说再见了……

    【讨论】:

    • 如果我只想在最后两行中显示每三行怎么办?谢谢你的建议,我其实用的是Python3
    • 我不明白,你在这里想说什么。你能再试一次吗?或许我可以帮忙。
    • 我的意思是,我只想在两列中迭代三行,然后在迭代函数中,我在这三行中进行线性回归。所以,迭代三行,做线性回归,迭代三行,做线性回归,等等。
    • 你只需要遍历这两列。因此,如果您只想要前两列,则 df[:-2] 变为 df.iloc[:-2,:2] ,依此类推。但这意味着您每次迭代只有 6 个值,这对于您尝试使用回归进行的任何操作可能都不够。不要误会我的意思,但我觉得你最好通过熊猫介绍教程然后弄清楚。因为这里的东西真的很基础。
    猜你喜欢
    • 2018-12-28
    • 2015-08-09
    • 2021-07-05
    • 2019-03-28
    • 2019-05-28
    • 2018-09-26
    • 1970-01-01
    • 2016-12-08
    • 2018-10-20
    相关资源
    最近更新 更多