python - 将日期过滤到仅当月的第一天(在 Python 中)
问题描述
我有一个数据集 df,其中包含各种日期。但是,我想过滤我的数据集以仅包含该月第一天的日期。我可以在 Excel 中轻松地做到这一点,但我希望使用 Python 来实现这个逻辑。
date id
10/01/2020 a
10/01/2020 a
10/24/2020 a
10/26/2020 a
11/01/2020 b
11/24/2020 b
11/01/2020 b
期望的输出
date id
10/01/2020 a
10/01/2020 a
11/01/2020 b
11/01/2020 b
这就是我正在做的事情:
import pandas as pd
import numpy as np
df1 = pd.date_range('2019-01-01','2020-01-01',freq='Months')
上面的代码没有得到预期的输出。任何帮助或建议表示赞赏。
解决方案
给定一些时间序列数据框 df 和一列“日期”,其中包含日期时间,这样的事情将起作用:
df[df["date"].dt.day == 1]
如果日期时间在索引中,这样的事情会起作用:
df[df.index.day == 1]
推荐阅读
- h2o - 如何在 GPU 上运行预测?
- google-compute-engine - 使用关闭脚本创建一个新的谷歌云实例
- mule - 在 mule 4 中使用 vm 连接器时,vars 正在被清除
- mysql - 如何在自我内连接mysql查询中选择不同的值?
- amazon-web-services - npm WARN read-shrinkwrap 这个版本的 npm 兼容 lockfileVersion@1,但是为 lockfileVersion@0 生成了 npm-shrinkwrap.json
- html - 使用 R 语言中的正则表达式从 HTML 页面中提取日期
- android - 如何从活动外部更改屏幕方向?
- python - 如何使用 python 提取自动虚拟拓扑的默认值?
- python - python-igraph 0.7.1.post.6 中的 LFR
- python-3.x - 将击键发送到不集中的进程pywinauto