pandas - 在python3中查找忽略年份的两个日期之间的差异
问题描述
我试图找出忽略年份的两个日期之间的差异。因此,假设我想找出 2014-01-02 和 2019-01-01 之间的区别,答案应该是 1,但这样做有困难。 它应该是一年中的第几天,减去月份中的一天是行不通的
下面是我使用的代码,但它并没有给我想要的结果,因为它也考虑到了年份。
data12['Dist_from_NewYear'] = data12['only_date'].map(lambda x: x.date() - public_holidays['Date'][0].date())
data12['Dist_from_NewYear']
0 -1456 days
1 -1455 days
2 -1454 days
3 -1453 days
4 -1452 days
5 -1451 days
6 -1450 days
7 -1449 days
8 -1448 days
9 -1448 days
10 -1448 days
11 -1446 days
12 -1445 days
解决方案
用于dt.dayofyear
获取一年中的第几天进行计算:
In[131]:
df = pd.DataFrame({'a':[pd.to_datetime('2014-01-02', dayfirst=False)], 'b':[pd.to_datetime('2019-01-01', dayfirst=False)]})
df['diff'] = df['a'].dt.dayofyear - df['b'].dt.dayofyear
df
Out[131]:
a b diff
0 2014-01-02 2019-01-01 1
推荐阅读
- python - 根据 Python 中的条件返回字典中最大值的键
- php - laravel 的自动招摇文档
- angular - 如何在 Angular 5 应用程序中正确使用 Angular 百分比管道?
- node-red - 如何将 MQTT 数据发布到空白网页
- angular - 设置禁用离子输入的离子标签的不透明度
- android - 我应该在我的 (android) 应用程序中直接访问 FIWARE Orion 上下文代理 API 吗?
- angular - 编码的 url 没有以角度正确重定向,如何将编码的 url 路由到正确的地址?
- html - ngStyle 从对象/模型接收颜色的问题
- java - 如何在运行时映射表创建?
- c++ - 构建 sfml 时 Cmake 未链接