我有一个包含40行的数据框, 我想对其进行迭代,因此我将进行4次迭代,每个迭代有10行。
因此,组#0将是第0-9行,组#1将是第10-19行,依此类推。
我该怎么办?
答案 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