Python 如何按阈值中断数据帧?

Python 如何按阈值中断数据帧?,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,我必须按阈值打破记录,然后逐个打印。我用例子来解释你- 我有100条记录的数据框。我的阈值id一次记录20条记录。所以我想在5次打印所有记录,一次打印20条记录。我尝试了一个示例代码,但不起作用 我的代码: j = 0 for i in (20,df_3.count(), 20): print(df_3.iloc[j:i ,:].to_json(orient='records',lines=True)) time.sleep(5)

我必须按阈值打破记录,然后逐个打印。我用例子来解释你-

我有100条记录的数据框。我的阈值id一次记录20条记录。所以我想在5次打印所有记录,一次打印20条记录。我尝试了一个示例代码,但不起作用

我的代码:

    j = 0
    for i in (20,df_3.count(), 20):
        print(df_3.iloc[j:i ,:].to_json(orient='records',lines=True))
        time.sleep(5)
        print('----------------------')
        j = i

你能帮助我如何得到我的要求吗。此代码不适用于我。

您只能使用长度为
DataFrame
i
变量,并添加接下来的20行:

for i in range(0,len(df_3), 20):
     a = df_3.iloc[i:i+20].to_json(orient='records',lines=True)
     print (a)
     time.sleep(5)
如果需要省略前20项:

for i in range(20,len(df_3), 20):
     a = df_3.iloc[i:i+20].to_json(orient='records',lines=True)
     print (a)
     time.sleep(5)

稍有不同的解决方案:

import pandas as pd 

df = pd.DataFrame({
    'a': range(1, 100),
    'b': range(101, 200)
})

step = 20

for i in range(0, len(df), step):
  with pd.option_context('display.max_rows', None, 'display.max_columns', None):
    print(df[i:i+step])
  print('-----------------------------------------------')