首页 > 解决方案 > 如何根据熊猫中的条件打破数据框行?

问题描述

我有一个数据框,但想根据条件将数据框行分成多行。

例子:

东风:

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应该只出现一次,其余的列应该用它们各自的值填充。

标签: pythonpython-3.xpandasdataframe

解决方案


推荐阅读