当我有一个DataFrame对象并且行数未知时,我想每次选择5行。
例如,df
有11行,它将被选择3次,即5 + 5 + 1,如果行是4,则只会被选择一次。
如何使用pandas
编写代码?
答案 0 :(得分:1)
使用sender.numberOfTapsRequired = 2
进行一些运算。这应该很干净。
groupby
取决于您希望输出的结构,可以将chunks = [g for _, g in df.groupby(df.index // 5)]
更改为g
(如果要使用列表)。
答案 1 :(得分:1)
numpy.split
np.split(df, np.arange(5, len(df), 5))
df = pd.DataFrame(dict(A=range(11)))
print(*np.split(df, np.arange(5, len(df), 5)), sep='\n\n')
A
0 0
1 1
2 2
3 3
4 4
A
5 5
6 6
7 7
8 8
9 9
A
10 10
答案 2 :(得分:0)
创建一个循环,然后使用索引为DataFrame编制索引:
for i in range(len(df), 5):
data = df.iloc[i*5:(i+1)*5]