python - Python - 取列中第一个日期的时间差
问题描述
给定日期列,我想创建另一个列差异来计算距第一个日期的天数。
date diff
2011-01-01 00:00:10 0
2011-01-01 00:00:11 0.000011 days
2011-02-01 00:00:11 30.000011 days
2013-02-01 00:00:11 395.000011 days
2014-02-01 00:00:11 760.000011 days
日期在日期时间中。到目前为止我尝试了什么:
df = df.sort_values(['date'], ascending=True)
df.set_index('date', inplace = True)
first = df.index[0]
df['diff'] = (first - df.index.shift()).fillna(0)
解决方案
你可以试试
df['diff'] = df.date - df.date.min()
df
date diff
0 2011-01-01 00:00:10 0 days 00:00:00
1 2011-01-01 00:00:11 0 days 00:00:01
2 2011-02-01 00:00:11 31 days 00:00:01
3 2013-02-01 00:00:11 762 days 00:00:01
4 2014-02-01 00:00:11 1127 days 00:00:01
推荐阅读
- c# - 更新为 System.InvalidOperationException
- r - 输出结果取决于要提取的第二个输出结果
- node.js - 如何使用 Puppeteer 和 Cheerio 从多个页面抓取数据并显示在一页中?
- mysql - 如何按不同表中的列分组
- html - 如何在css中制作我的字体家族作品?
- comparison - 将变量与 Lisp 中的字符进行比较
- javascript - 为什么改变 backgroundColor 会改变按钮的形状?
- python - Pylint 方法调用中的参数短语没有值
- linux - 如何安全地连接到需要 HTTP 连接的 VPS 应用程序
- python - 在python中获取文件中的特定值