首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用python中的静态日期获取每个月的最后一天?

使用python中的静态日期获取每个月的最后一天?
EN

Stack Overflow用户
提问于 2022-07-14 08:27:24
回答 2查看 59关注 0票数 1

我有一个静态日期,如month_end_date = 30/06/2022,

如何从month_end_date到明年30/06/2023在dataframe列中获得每个月的最后一天。

只是一个月的最后一天,没有创建一个完整的日期范围

示例输出:

代码语言:javascript
运行
复制
day
30
31
30
31
...
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-07-14 08:31:24

您可以使用pandas.date_range的一个月结束(M)频率:

代码语言:javascript
运行
复制
month_end_date = '30/06/2022'
stop = '30/06/2023'

pd.date_range(month_end_date, stop, freq='M')

产出:

代码语言:javascript
运行
复制
DatetimeIndex(['2022-06-30', '2022-07-31', '2022-08-31', '2022-09-30',
               '2022-10-31', '2022-11-30', '2022-12-31', '2023-01-31',
               '2023-02-28', '2023-03-31', '2023-04-30', '2023-05-31',
               '2023-06-30'],
              dtype='datetime64[ns]', freq='M')

只有在这几天:

代码语言:javascript
运行
复制
month_end_date = '30/06/2022'
stop = '30/06/2023'
pd.date_range(month_end_date, stop, freq='M').day

输出:

代码语言:javascript
运行
复制
Int64Index([30, 31, 31, 30, 31, 30, 31, 31, 28, 31, 30, 31, 30], dtype='int64')
票数 3
EN

Stack Overflow用户

发布于 2022-07-14 08:33:56

代码语言:javascript
运行
复制
from datetime import timedelta    

month_end_date = pd.to_datetime('30/06/2022')
dates = pd.date_range(start=month_end_date, freq='m', end=month_end_date+timedelta(days=365))

然后创建一个数据文件:

代码语言:javascript
运行
复制
df = pd.DataFrame(data=dates, columns=['date'])

如果要将此列添加到已存在的dataframe中:

代码语言:javascript
运行
复制
df['date'] = dates
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72977491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档