python - 如何使用一列按数据分组对另一列执行一些操作并分配新组熊猫
问题描述
我有一个数据框如下:
distance_along_path ID
0 0 1
1 2.2 1
2 4.5 1
3 7.0 1
4 0 2
5 0 3
6 3.0 2
7 5.0 3
8 0 4
9 2.0 4
10 5.0 4
11 0 5
12 3.0 5
11 7.0 4
12
我希望能够按 id 的第一个和按 distance_along_path 值对这些进行分组,每次在沿路径的 id 的距离中看到 0 时,都会创建新组,直到下一个 0 所有这些行都在 A 组下,如下所示
distance_along_path ID group
0 0 1 1
1 2.2 1 1
2 4.5 1 1
3 7.0 1 1
4 0 1 2
5 0 2 3
6 3.0 1 2
7 5.0 2 3
8 0 2 4
9 2.0 2 4
10 5.0 2 4
11 0 1 5
12 3.0 1 5
13 7.0 1 5
14 0 1 6
15 0 2 7
16 3.0 1 6
17 5.0 2 7
18 1.0 2 7
谢谢
解决方案
尝试以下操作:
grp_id = df.groupby(['ID']).id.count().reset_index()
grp_distance = grp_id.groupby(['distance_along_path'].grp_id['distance_along_path']==0
推荐阅读
- reactjs - 如何从请求中获取所有数据
- flutter - 如何在 github 操作中在 Flutter 中配置 dart sdk 版本
- powershell - 用于批量更改管理器字段的 AzureAD Powershell 脚本
- android - 无法使用 MediaStore 检索最新下载的视频
- firebase-storage - 是否可以还原 Firebase Cloud Storage 中的操作?
- prometheus - 限制抓取目标时标签的允许值数量
- php - 当回显到 PHP 时,MYSQL 在数据库中增加 2 小时的时间
- angular - Angular 11 库使用路径别名
- macos - XML::LibXML - 在新的 macOS BigSur 上安装模块时出现问题
- mysql - 如何在 Rails 中仅计算 GROUP BY 中的某些行