我有一个静态日期,如month_end_date = 30/06/2022,
如何从month_end_date到明年30/06/2023在dataframe列中获得每个月的最后一天。
只是一个月的最后一天,没有创建一个完整的日期范围
示例输出:
day
30
31
30
31
...
发布于 2022-07-14 00:31:24
您可以使用pandas.date_range
的一个月结束(M
)频率:
month_end_date = '30/06/2022'
stop = '30/06/2023'
pd.date_range(month_end_date, stop, freq='M')
产出:
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')
只有在这几天:
month_end_date = '30/06/2022'
stop = '30/06/2023'
pd.date_range(month_end_date, stop, freq='M').day
输出:
Int64Index([30, 31, 31, 30, 31, 30, 31, 31, 28, 31, 30, 31, 30], dtype='int64')
发布于 2022-07-14 00:33:56
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))
然后创建一个数据文件:
df = pd.DataFrame(data=dates, columns=['date'])
如果要将此列添加到已存在的dataframe中:
df['date'] = dates
https://stackoverflow.com/questions/72977491
复制相似问题