如何在pandas数据帧中检查列值是否有序?

时间:2017-08-07 14:32:15

标签: python pandas csv

我有一个如下的数据框 -

               time              machine        message
6      2017-08-07 05:24:31,955    solid    qa  : 6502444
20     2017-08-07 05:24:32,024    solid    prod : 6502445
32     2017-08-07 05:24:32,033    solid    qa : 6502445
44     2017-08-07 05:24:32,041    solid    prod : 6502446
56     2017-08-07 05:24:32,055    solid    qa : 6502446
68     2017-08-07 05:24:32,063    solid    prod : 6502447
80     2017-08-07 05:24:32,071    solid    qa : 6502450
92     2017-08-07 05:24:32,079    solid    prod : 6502451
92     2017-08-07 05:24:32,079    solid    qa : 6502452
104    2017-08-07 05:24:32,086    solid    prod : 6502453
116    2017-08-07 05:24:32,094    liquid    qa : 700001
128    2017-08-07 05:24:32,101    liquid    prod : 700004
140    2017-08-07 05:24:32,108    liquid    qa : 700002
152    2017-08-07 05:24:32,115    liquid    prod : 700005
164    2017-08-07 05:24:32,126    liquid    qa : 700007
176    2017-08-07 05:24:32,133    liquid    prod : 700010
188    2017-08-07 05:24:32,140    liquid    qa : 700008
200    2017-08-07 05:24:32,147    liquid    prod : 700011

我想知道特定qa和prod的消息字段中缺少哪些数字。如果缺少任何数字,那么我想要丢失多少个号码,以前的可用开始时间和下一个可用的结束时间以及相应的消息号。

我想以csv格式生成一个输出文件,其中包含如下所示的标题 -

machine,message_header,missing_number_size,start,end,start_time,end_time
  • 机器是固体或液体(在这种情况下,即如果第3个可用则需要考虑)。
  • 邮件列值中提供了
  • message_header 。它固定为qa或prod。
  • missing_number_size 是qa和prod之间错过的数字。
  • 开始是错过消息列之前的最后一个可用号码。
  • 结束是错过消息列后的第一个可用号码。
  • start_time 是错过时间列之前的最后一个可用时间。
  • end_time 是错过时间列之后的第一个可用时间。

Output.csv 将如下所示 -

machine,message_info,missin_number_size,start,end,start_time,end_time
solid,qa,3,6502446,6502450,2017-08-07 05:24:32,055,2017-08-07 05:24:32,071
solid,qa,1,6502450,6502452,2017-08-07 05:24:32,071,2017-08-07 05:24:32,079
solid,prod,3,6502447,6502451,2017-08-07 05:24:32,063,2017-08-07 05:24:32,079
solid,prod,1,6502451,6502453,2017-08-07 05:24:32,079,2017-08-07 05:24:32,086
liquid,qa,4,700002,700007,2017-08-07 05:24:32,108,2017-08-07 05:24:32,126
liquid,prod,4,700005,700010,2017-08-07 05:24:32,115,2017-08-07 05:24:32,133

如何检查消息列的顺序并生成上面的csv文件?

0 个答案:

没有答案