微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – 根据长度将数据帧拆分为相对均匀的块

我必须创建一个函数,将提供的数据帧拆分为所需大小的块.例如,如果数据帧包含1111行,我希望能够指定400行的块大小,并获得三个尺寸为400,400和311的较小数据帧.是否有便利功能来完成这项工作?什么是存储和迭代切片数据帧的最佳方法

示例DataFrame

import numpy as np
import pandas as pd

test = pd.concat([pd.Series(np.random.rand(1111)), pd.Series(np.random.rand(1111))], axis = 1)

解决方法:

您可以使用.groupby,如下所示.

for g, df in test.groupby(np.arange(len(test)) // 400):
    print(df.shape)
# (400, 2)
# (400, 2)
# (311, 2)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐