Pandas我想根据另一列的值删除NaT行

时间:2015-12-30 16:24:55

标签: python pandas timedelta

我的df看起来像:

id  | Type | Start                  | End
1    1       0 days 00:00:52.132432  0 days 00:01:34.123875
2    1       0 days 00:00:52.543265  NaT
3    2       0 days 00:00:52.765434  1 days 00:00:23.123763

我只想要Type等于1且结束时间不是NaT的地方,所以应该返回的是:

id  | Type | Start                  | End
1    1       0 days 00:00:52.132432  0 days 00:01:34.123875

解决这个问题的最佳方法是什么?我想要实现的最后一步是符合此条件的行将修改其开始时间。例如,上面的这一行将转换为:

id  | Type | Start                  | End
1    1       0 days 00:00:33.987658  0 days 00:01:34.123875

1 个答案:

答案 0 :(得分:0)

>>> df.loc[((df.Type == 1) & (df.End.notnull())), :]

   id  Type                   Start                     End
0   1     1  0 days 00:00:52.132432  0 days 00:01:34.123875