You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python找出purchases.csv中购物量最少与最多的月份?

找出2020年购物量最多和最少的月份

你之前用Counter(dataset['date'])统计的是具体日期的购物次数,不是月份的汇总,所以没法直接得到月份维度的最值。用Pandas的日期分组功能可以高效解决这个问题,以下是修正后的代码:

import pandas as pd

df = pd.read_csv('purchases.csv')

# 转换日期格式并筛选2020年数据
df['date'] = pd.to_datetime(df['date'])
dataset = df[df['date'].dt.year == 2020]

# 按月份分组,统计每个月的购物次数
monthly_purchases = dataset.groupby(dataset['date'].dt.month).size()

# 获取购物量最多/最少的月份及对应次数
max_month = monthly_purchases.idxmax()
max_count = monthly_purchases.max()
min_month = monthly_purchases.idxmin()
min_count = monthly_purchases.min()

print(f"购物量最多的月份:{max_month}月,次数:{max_count}")
print(f"购物量最少的月份:{min_month}月,次数:{min_count}")

关键步骤说明:

  • dataset['date'].dt.month:将日期字段转换为对应的月份数字(1-12)
  • groupby(...).size():按月份分组后,统计每组的记录总数(即该月的购物次数)
  • idxmax()/idxmin():返回最大值/最小值对应的月份;max()/min()返回具体的购物次数

如果需要显示中文月份名称,可以添加以下转换步骤:

# 将月份数字映射为中文名称
month_map = {1:'一月',2:'二月',3:'三月',4:'四月',5:'五月',6:'六月',
             7:'七月',8:'八月',9:'九月',10:'十月',11:'十一月',12:'十二月'}
monthly_purchases.index = monthly_purchases.index.map(month_map)

# 重新获取最值
max_month = monthly_purchases.idxmax()
min_month = monthly_purchases.idxmin()

print(f"购物量最多的月份:{max_month},次数:{monthly_purchases.loc[max_month]}")
print(f"购物量最少的月份:{min_month},次数:{monthly_purchases.loc[min_month]}")

内容的提问来源于stack exchange,提问作者reallilpunch

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 06:40:20