过滤并扩展时间序列熊猫数据框

时间:2020-04-29 13:43:48

标签: python pandas time-series filtering

此问题是此问题的附加内容:filter multi-indexed grouped pandas dataframe

我想获得timestamp,其中valuedate之后开始大于零,作为每个单独的new_date的新列id

示例输入数据:

id timestamp  date       value
1  2001-01-01 2001-05-01 1
1  2001-10-01 2001-05-01 0
1  2001-10-02 2001-05-01 1
1  2001-10-03 2001-05-01 0
1  2001-10-04 2001-05-01 1
2  2001-01-01 2001-05-01 1
2  2001-10-01 2001-05-01 0
2  2001-10-02 2001-05-01 0
2  2001-10-03 2001-05-01 0
2  2001-10-04 2001-05-01 1

想要的输出数据示例:

id timestamp  date       value new_date
1  2001-01-01 2001-05-01 1     2001-10-02
1  2001-10-01 2001-05-01 0     2001-10-02
1  2001-10-02 2001-05-01 1     2001-10-02
1  2001-10-03 2001-05-01 0     2001-10-02
1  2001-10-04 2001-05-01 1     2001-10-02
2  2001-01-01 2001-05-01 1     2001-10-04
2  2001-10-01 2001-05-01 0     2001-10-04
2  2001-10-02 2001-05-01 0     2001-10-04
2  2001-10-03 2001-05-01 0     2001-10-04
2  2001-10-04 2001-05-01 1     2001-10-04

1 个答案:

答案 0 :(得分:1)

如果某个组没有匹配项,则更简单的解决方案也可以工作,首先过滤Accept: application/json链掩码,将DataFrame乘以Series.gt,然后按位date替换{{1} },然后通过DataFrame.drop_duplicates删除重复项,创建AND并最后使用Series.map

0