python - Python Pandas 中 DataFrame 中的日期操作?
问题描述
您好,我有 DataFrame 与客户的协议,如下所示:
rng = pd.date_range('2020-12-01', periods=5, freq='D')
df = pd.DataFrame({ "ID" : ["1", "2", "1", "2", "2"], "Date": rng})
我需要根据上面的df计算创建新的DataFrame:
Column1= 从第一个协议到今天 (18.12) 的天数
第 2 列 = 从上次协议到今天 (18.12) 的天数
为了更精确,我需要创建 df 如下所示:
解决方案
查看groupby
out = df.groupby('ID').Date.agg(['min','max']).rsub(pd.to_datetime('2020-12-18'))
min max
ID
1 17 days 15 days
2 16 days 13 days
推荐阅读
- python - python: find in subprocess's output, leave it running and continue
- c++ - How do I find the number that occurs the most in an array?
- c++ - boost.Asio 的“ssl”实现是否存在数据竞争?
- java - 颤振错误:颤振医生--android-licenses
- amazon-web-services - 限制对 s3 存储桶的所有访问并允许 1 个 IAM 用户
- oracle - Flyway:尽管用户首先不存在,但 Oracle 与另一个用户创建用户冲突
- r - 通过根据分组数据中的条件减去行来创建新变量
- excel - 列表框和电子邮件
- python - 在 pandas 中,将外部 json 与嵌套 json 结合起来并创建新的数据框
- python - 直接从 CLI 调用 python 项目中的函数