利用python统计一个datetime类型的数据集中 不同年份的各个月份的天数
时间: 2023-06-09 10:07:23 浏览: 98
可以使用Python中的datetime和collections模块完成该任务。首先,将datetime类型的数据集中的日期转换为(year, month, day)的元组表示,然后使用collections模块的defaultdict类来计算每年每月的天数。
下面是一个例子:
```
from datetime import datetime
from collections import defaultdict
# 假定数据集中的日期存储在一个列表中
dates = ['2021-01-01', '2021-01-02', '2021-02-01', '2022-01-01', '2022-02-01']
# 定义用于计算天数的defaultdict
year_month_days = defaultdict(lambda: defaultdict(int))
# 将日期转换为元组表示,并累计天数
for date in dates:
year, month, day = datetime.strptime(date, '%Y-%m-%d').timetuple()[:3]
year_month_days[year][month] += 1
# 输出每年每月的天数
for year in sorted(year_month_days.keys()):
print(f'Year {year}:')
for month in sorted(year_month_days[year].keys()):
print(f' Month {month}: {year_month_days[year][month]} days')
```
输出结果为:
```
Year 2021:
Month 1: 2 days
Month 2: 1 days
Year 2022:
Month 1: 1 days
Month 2: 1 days
```
阅读全文