python - 带有日期列的 df 在当前和下一行的日期之间添加一个持续时间列
问题描述
假设我有一个日期的df:
date quantity
2015-01-01 100
2016-01-01 500
2016-01-05 100
我想添加另一个关于当前行日期和下一行日期之间时间的新列。如果是最后一行,请参考今天的日期。
date quantity days
2015-01-01 100 365
2016-01-01 500 4
2016-01-05 100 1227
注意:1227 是从 2016-01-05 到 2019-05-16(今天)的天数。我可以用循环来做到这一点,只是想知道我是否可以利用 pandas 来干净地做到这一点。
解决方案
如果我们把它推成一行
df['New']=df.date.append(pd.Series(pd.datetime.now())).diff().dropna().dt.days.values
df
Out[102]:
date quantity New
0 2015-01-01 100 365
1 2016-01-01 500 4
2 2016-01-05 100 1226
推荐阅读
- node.js - 升级到expo 31.react-native-dot-env报错:react native不支持node标准库
- google-cloud-dataflow - GCP VM 实例的自动缩放及其与机器类型的关系
- javascript - 如何访问 myCountry 的值?
- vuejs2 - 如何检查多个元素是否存在 Vue 中的一个类?
- sql-server - SQL Server BCP 批量插入用文本限定符格式文件分隔的管道
- python - 计算总和的问题
- ruby-on-rails - 使用邮件和 erb gem 发送邮件
- python - 使用具有背景填充的单元格将列添加到列表
- ionic-framework - 离子选择未显示在浏览器上
- c# - 只有在我的代码中显式访问属性时,通过反射访问任务属性才有效