基于行数的python数据框组行

时间:2019-06-20 12:21:08

标签: python pandas dataframe pandas-groupby

我有一个包含40行的数据框, 我想对其进行迭代,因此我将进行4次迭代,每个迭代有10行。

因此,组#0将是第0-9行,组#1将是第10-19行,依此类推。

我该怎么办?

2 个答案:

答案 0 :(得分:0)

import pandas as pd
import numpy as np

df1 = {
    'State':['Arizona','Georgia','Newyork','Indiana','Florida'],
   'Score1':[4,47,55,74,31]}

df1 = pd.DataFrame(df1,columns=['State','Score1'])
print(df1)

我们需要在索引中添加值(此处为430)以生成行号,并将结果存储在新列中,如下所示。

df1['New_ID'] = df1.index + 430
print(df1)

答案 1 :(得分:0)

这个stackoverflow问题的2个解决方案:How to iterate over consecutive chunks of Pandas dataframe efficiently

我建议您检查链接。

DSM解决方案:

for k,g in df.groupby(np.arange(len(df))//10):
    print(k,g)

来自Ryan的解决方案:

def chunker(seq, size):
    return (seq[pos:pos + size] for pos in xrange(0, len(seq), size))

for i in chunker(df,5):
    print i
相关问题