gpt4 book ai didi

python - Pandas :每月日期范围与天数

转载 作者:太空宇宙 更新时间:2023-11-03 14:50:16 25 4
gpt4 key购买 nike

假设我有一个像这样的开始和结束日期:

start_d = datetime.date(2017, 7, 20)
end_d = datetime.date(2017, 9, 10)

我希望获得如下所示的 Pandas DataFrame:

Month    NumDays
2017-07 12
2017-08 31
2017-09 10

它显示了我的范围内包含的每个月的天数。

到目前为止,我可以使用 pd.date_range(start_d, end_d, freq='MS') 生成每月系列。

最佳答案

您可以使用 date_range默认情况下,首先是 day 频率,然后创建 Seriesresamplesize .上次转换为 期间 to_period :

import datetime as dt    

start_d = dt.date(2017, 7, 20)
end_d = dt.date(2017, 9, 10)

s = pd.Series(index=pd.date_range(start_d, end_d), dtype='float64')

df = s.resample('MS').size().rename_axis('Month').reset_index(name='NumDays')
df['Month'] = df['Month'].dt.to_period('m')
print (df)
Month NumDays
0 2017-07 12
1 2017-08 31
2 2017-09 10

谢谢Zero用于简化解决方案:

df = s.resample('MS').size().to_period('m').rename_axis('Month').reset_index(name='NumDays')

关于python - Pandas :每月日期范围与天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46319852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com