gpt4 book ai didi

python - 如何通过引用 Pandas 中的日期来提取

转载 作者:行者123 更新时间:2023-12-04 09:15:31 27 4
gpt4 key购买 nike

我有 df 喜欢跟随一个

customer  movement      date
A buy 2019/5/4
A inquiry 2020/7/1
A cancel 2020/8/1
B buy 2019/6/1
B cancel 2020/8/1
我想追踪每个客户的 movement之前 cancel首先,按 customer分组
A         buy      2019/5/4 
A inquiry 2020/7/1
A cancel 2020/8/1
那么我想得到 cancel date
A        cancel    2020/8/1
然后,我想得到 previous movement取消前 in 1 year .
customer movement date
A inquiry 2020/7/1
A cancel 2020/8/1
之后,我想在每个 customers中重复
所以我想要的结果如下
customer movement date
A inquiry 2020/7/1
A cancel 2020/8/1
B cancel 2020/8/1
有没有办法实现这一目标?
这是完全复杂的,我无法处理这样的程序..
谢谢

最佳答案

首先将列转换为日期时间并创建仅过滤的系列 cancel DataFrame.set_index :

df['date'] = pd.to_datetime(df['date'])

s = df[df['movement'].eq('cancel')].set_index('customer')['date']
然后通过 Series.map 映射年减去 1 年并过滤掉 date 的较小值专栏作者 Series.lt boolean indexing :
df = df[df['customer'].map(s.sub(pd.DateOffset(years=1))).lt(df['date'])]
print (df)
customer movement date
1 A inquiry 2020-07-01
2 A cancel 2020-08-01
4 B cancel 2020-08-01

关于python - 如何通过引用 Pandas 中的日期来提取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63240994/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com