python - 按数据框中的行号范围分组
问题描述
我有一个包含 5000 行的数据框,我想根据行值将其拆分为多个数据框。
object result
1200 1
1201 0
1202 1
1203 0
1204 0
对象行号每 300 行重复一次。对于行,1200-1250 一个数据帧,1251-1300 另一个数据帧,依此类推。
预期输出例如:
数据框1:
object result
1200 1
1201 0
1203 0
..
1250 1
数据框 2:
object result
1251 1
1252 0
..
1301 1
解决方案
您可以使用除法来做到这一点。
df['groupObject'] = df['object'].div(50).round().astype(int)
现在,您要拆分数据框中的各个整数。这是我们所有的组:
groups = df['groupObject'].unique().values.tolist()
dfs = []
for group in groups:
dfs.append(df[df['groupObject'] == group]
编辑:因为 50 显然不是一个常数,所以像这样切片你的数据框:
df_temp = df[df['object'].astype(int) > 1250]]
然后继续执行上述步骤。
推荐阅读
- vb.net - vb.net 基础知识,如何创建一个公共函数来处理动态创建的按钮
- android - 无法连续两次从深度链接启动 android 应用
- python - 张量变换
- java - Spring-boot在JMS队列侦听器上抛出异常时未找到线程绑定请求
- react-native - 如何构建和管理多用户领域(例如团队)?
- javascript - 背景图像不收缩,具体取决于移动屏幕中的设备
- jquery - jquery 类切换变量:意外的标识符
- python - python:如何显示一个有两个不等列的html表格(想放一个滚动条)
- python - 如何用时间倒计时()
- logstash - 是否可以从 logstash 中的日志文件中仅选择错误条目