如何解决从底部开始的第一个最长的零子序列之后的子数据帧
Dataframe df
有两列 - timestamp
和 qty
。 df
按唯一 timestamp
的升序排序。在 timestamp
列中第一次出现 >= n
连续零后,从底部的第一个 qty
开始查找子数据框。
例如
>>> import pandas as pd
>>> from datetime import datetime
>>> df = pd.DataFrame({'timestamp':[datetime(2018,12,1),datetime(2019,4,5,8,datetime(2020,9,10,11,11),datetime(2021,1,1)],'qty':[187.11,340,2947.65,15,23]})
>>> df
timestamp qty
0 2018-12-01 187.11
1 2019-04-01 340.00
2 2019-05-01 0.00
3 2019-08-01 0.00
4 2019-12-01 2947.65
5 2020-04-01 0.00
6 2020-08-01 0.00
7 2020-09-01 0.00
8 2020-10-01 5.00
9 2020-11-01 0.00
10 2020-11-11 0.00
11 2020-12-01 15.00
12 2020-12-11 0.00
13 2021-01-01 23.00
期望的输出:
在这种情况下,对于 n=3
,输出是从 2020-10-01
:
timestamp qty
8 2020-10-01 5.00
9 2020-11-01 0.00
10 2020-11-11 0.00
11 2020-12-01 15.00
12 2020-12-11 0.00
13 2021-01-01 23.00
对于 n=2
,输出是从 2020-12-01
开始的数据帧:
timestamp qty
11 2020-12-01 15.00
12 2020-12-11 0.00
13 2021-01-01 23.00
对于 n=1
,输出是从 2021-01-01
开始的数据帧:
timestamp qty
13 2021-01-01 23.00
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。