如何在pandas中根据条件断开数据帧的行?

2024-06-28 19:25:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个dataframe,但希望根据条件将dataframe的行拆分为多行

例如:

df:

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连续出现多次,因此当队列Id再次出现时,该行将中断Interval Start&Interval End应该只出现一次,其余的列应该用它们各自的值填充


Tags: iddataframequeuecountstartendsuminterval