python - 如何根据熊猫中的条件打破数据框行?
问题描述
我有一个数据框,但想根据条件将数据框行分成多行。
例子:
东风:
Queue_Id,nOffered_count,nOffered_sum,nOffered.denominator,nOffered.numerator,Interval Start,Interval End,Queue_Id,nOffered_count,nOffered_sum,nOffered.denominator,nOffered.numerator,Interval Start,Interval End,Queue_Id,nTransferred_count,nTransferred_sum,nTransferred.denominator,nTransferred.numerator,Interval Start,Interval End,Queue_Id,nOffered_count,nOffered_sum,nOffered.denominator,nOffered.numerator,Interval Start,Interval End,Queue_Id,nOffered_count,nOffered_sum,nOffered.denominator,nOffered.numerator,Interval Start,Interval End
a72dba75-0bc6-4a65-b120-8803364f8dc3,6,,,,2021-10-11T11:46:25.000Z,2021-10-12T11:46:25.000Z,a72dba75-0bc6-4a65-b120-8803364f8dc3,1.0,,,,2021-10-12T11:46:25.000Z,2021-10-13T11:46:25.000Z,a72dba75-0bc6-4a65-b120-8803364f8dc3,12.0,,,,2021-10-13T11:46:25.000Z,2021-10-14T11:46:25.000Z,a72dba75-0bc6-4a65-b120-8803364f8dc3,6.0,,,,2021-10-14T11:46:25.000Z,2021-10-15T11:46:25.000Z,a72dba75-0bc6-4a65-b120-8803364f8dc3,6.0,,,,2021-10-15T11:46:25.000Z,2021-10-16T11:46:25.000Z
73643cff-799b-41ae-9a67-efcf5e593155,1,,,,2021-10-11T11:46:25.000Z,2021-10-12T11:46:25.000Z,73643cff-799b-41ae-9a67-efcf5e593155,2.0,,,,2021-10-13T11:46:25.000Z,2021-10-14T11:46:25.000Z,73643cff-799b-41ae-9a67-efcf5e593155,1.0,,,,2021-10-13T11:46:25.000Z,2021-10-14T11:46:25.000Z,73643cff-799b-41ae-9a67-efcf5e593155,3.0,,,,2021-10-14T11:46:25.000Z,2021-10-15T11:46:25.000Z,73643cff-799b-41ae-9a67-efcf5e593155,1.0,,,,2021-10-15T11:46:25.000Z,2021-10-16T11:46:25.000Z
786db522-4ddd-40a9-aae7-d4d53fb060d2,,,,,2021-10-11T11:46:25,2021-10-18T11:49:48,,,,,,,,,,,,,,,,,,,,,,,,,,,,
fc7f1974-7dfd-4fa1-91fc-4a87f5133696,,,,,2021-10-11T11:46:25,2021-10-18T11:49:48,,,,,,,,,,,,,,,,,,,,,,,,,,,,
将此数据框更改为以下格式-
Queue_Id,Interval Start,Interval End,nOffered_count,nOffered_sum,nOffered.denominator,nOffered.numerator,nTransferred_count,nTransferred_sum,nTransferred.denominator,nTransferred.numerator
a72dba75-0bc6-4a65-b120-8803364f8dc3,2021-10-11T11:46:25.000Z,2021-10-12T11:46:25.000Z,6,,,,,,,
a72dba75-0bc6-4a65-b120-8803364f8dc3,2021-10-12T11:46:25.000Z,2021-10-13T11:46:25.000Z,1.0,,,,,,,
a72dba75-0bc6-4a65-b120-8803364f8dc3,2021-10-13T11:46:25.000Z,2021-10-14T11:46:25.000Z,12.0,,,,,,,
a72dba75-0bc6-4a65-b120-8803364f8dc3,2021-10-14T11:46:25.000Z,2021-10-15T11:46:25.000Z,6.0,,,,,,,
a72dba75-0bc6-4a65-b120-8803364f8dc3,2021-10-15T11:46:25.000Z,2021-10-16T11:46:25.000Z,6.0,,,,,,,
73643cff-799b-41ae-9a67-efcf5e593155,2021-10-11T11:46:25.000Z,2021-10-12T11:46:25.000Z,1,,,,,,,
73643cff-799b-41ae-9a67-efcf5e593155,2021-10-13T11:46:25.000Z,2021-10-14T11:46:25.000Z,2,,,,1.0,,,
73643cff-799b-41ae-9a67-efcf5e593155,2021-10-14T11:46:25.000Z,2021-10-15T11:46:25.000Z,3,,,,,,,
73643cff-799b-41ae-9a67-efcf5e593155,2021-10-15T11:46:25.000Z,2021-10-16T11:46:25.000Z,1,,,,,,,
786db522-4ddd-40a9-aae7-d4d53fb060d2,2021-10-11T11:46:25,2021-10-18T11:49:48,,,,,,,,
fc7f1974-7dfd-4fa1-91fc-4a87f5133696,2021-10-11T11:46:25,2021-10-18T11:49:48,,,,,,,,
条件是——
Queue_Id
连续多次出现,因此当 Queue_Id 再次出现时,行将中断。Interval Start
&Interval End
应该只出现一次,其余的列应该用它们各自的值填充。
解决方案
推荐阅读
- android - 地图中的列表不会出现在我的 ListView 中
- javascript - 从 asp.net 和 Ajax 的列表中删除自动完成所选项目
- java - 获取arraylist中指定位置的元素
- handlebars.js - Handlebars.js - 如果 image_url 不包含“问号”
- node.js - Sequelize:在列查询中使用函数
- pytest - pytest:如何从文件中读取设备列表?
- makefile - 未找到模式时 patsubst 的返回值
- java - 将 DELETE 查询与 COUCHBASE DATABASE 一起使用
- java - Apache Velocity:替换换行符不起作用
- java - 如何将库中的值作为默认值连接并在应用程序明确定义属性后覆盖它