我正在使用以下内容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
Run Code Online (Sandbox Code Playgroud)
以下代码:
for row in df.iterrows():
print(row)
Run Code Online (Sandbox Code Playgroud)
一次返回一行 dfDataframe我想知道是否可以一次遍历两行?
iterrows是generator object,所以你只需要调用next两次或者使用zip
t = df.iterrows()
for (i, row1), (j, row2) in zip(t, t):
print(row1, row2)
Run Code Online (Sandbox Code Playgroud)
是的,如果可能,您可以使用DataFrame.groupby整数除法返回 2 行DataFrame:
#default RangeIndex
for i, g in df.groupby(df.index // 2):
print (g)
Run Code Online (Sandbox Code Playgroud)
通用解决方案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
Run Code Online (Sandbox Code Playgroud)