python - Python:根据值的范围将数据帧拆分为数据帧的字典
问题描述
我有一个 DataFrame df
,我需要根据特定列中的值是否ColB
在给定范围内进行拆分;
1-3、3-5、5-7 等
输入:
Time ColA ColB ColC
1 100 1.1 500
2 105 3.2 600
3 107 7.7 550
4 106 2.4 750
5 104 5.2 950
6 103 6.9 450
期望的输出:
Time ColA ColB ColC
1 100 1.1 500
4 106 2.4 750
Time ColA ColB ColC
2 105 3.2 600
Time ColA ColB ColC
3 107 7.7 550
5 104 5.2 950
6 103 6.9 450
有没有一种不用在 Python 中创建循环的好方法来做到这一点?此外,将输出存储为数据帧列表或数据帧字典会更有效吗?我问它是一个相当大的数据集。
解决方案
你可以试试这个:
lst = [(1,3), (3,5), (5,7)]
result = [df[df['ColB'].between(a,b)] for a,b in lst]
for i in result:
print(i, "\n")
Time ColA ColB ColC
0 1 100 1.1 500
3 4 106 2.4 750
Time ColA ColB ColC
1 2 105 3.2 600
Time ColA ColB ColC
4 5 104 5.2 950
5 6 103 6.9 450
推荐阅读
- javascript - 如何从javascript调用brython/python?
- java - 如何在Java中实例化一个以字符串形式给出的类
- http - What is this second number after HTTP status code?
- flutter - 如何从单个类生成 Mobx store、json、hive 类;
- linux - 直到循环不适用于 shell 中的字符串比较
- java - 如何根据 Spring Boot 中的活动配置文件设置注释属性值?
- android - FirebaseCrashlytics:非本地报告的发送到报告端点已禁用
- ios - iPhone 上的 Safari 是否支持为一个文件选择多个文件?
在iOS 12和13中,选择HTML时
<input type="file" multiple>
,浏览器/WebView会显示三个选项以上传文件:拍摄照片,从照片库中选择或浏览文件系统。可以使用照片库选择多个文件
- sql - 将唯一组 ID 分配给具有相同列值并由其他值分隔的行集
- php - 如何在 PHP 和 MYSql 中为单个产品插入多个不同颜色的图像?