Pandas Dataframe一次遍历两行

时间:2019-07-16 10:13:21

标签: python pandas

我正在使用以下Dataframe

      Price     Price2    Count  perc_change
0  0.000868    33782.17     4     1.000000
1  0.000872    33224.89     3     0.460829
2  0.000875    84110.85     7     0.344037
3  0.000878    67686.15     4     0.342857
4  0.000880    121400.22    4     0.227790

以下代码:

for row in df.iterrows():
    print(row)

一次返回df Dataframe一次,我想知道是否可以一次遍历两行吗?

2 个答案:

答案 0 :(得分:4)

是的,如果可能,您可以使用DataFrame.groupby进行整数除以返回2行DataFrame

#default RangeIndex
for i, g in df.groupby(df.index // 2):
    print (g)

使用numpy.arange的常规解决方案:

for i, g in df.groupby(np.arange(len(df)) // 2):
    print (g)
      Price    Price2  Count  perc_change
0  0.000868  33782.17      4     1.000000
1  0.000872  33224.89      3     0.460829
      Price    Price2  Count  perc_change
2  0.000875  84110.85      7     0.344037
3  0.000878  67686.15      4     0.342857
     Price     Price2  Count  perc_change
4  0.00088  121400.22      4      0.22779

答案 1 :(得分:0)

iterrowsgenerator object,因此您只需要在其上调用两次next或使用zip

t = df.iterrows()
for (i, row1), (j, row2) in zip(t, t):
    print(row1, row2)