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

如何使用pandas绘制各疫苗类型每日出现次数的分类多折线图

解决方案

问题原因

你当前的代码仅对日期单列做值计数,得到的是每日所有疫苗的总数量,因此只会输出一条折线。

操作步骤

  1. 先将日期字段转换为标准时间格式,避免后续排序、展示出现异常:
# 请将列名替换为你实际的字段名,示例中日期列名为「日期」
df['日期'] = pd.to_datetime(df['日期'], format='%d-%m-%Y')
  1. 同时按疫苗类型和日期两个维度分组统计每日数量,再将疫苗类型转为列维度,让每类疫苗对应单独一列数据:
# groupby的两个参数依次替换为你的实际疫苗类型列名、日期列名
daily_vac_counts = df.groupby(['疫苗类型', '日期']).size().unstack(level=0, fill_value=0)
  1. 直接调用plot方法即可生成每类疫苗对应一条折线的效果:
import matplotlib.pyplot as plt

plot2 = daily_vac_counts.plot(kind='line', cmap='plasma', figsize=(12,6))
# 可选:补充图表标注
plt.xlabel('日期')
plt.ylabel('当日出现数量')
plt.title('各类疫苗每日出现数量趋势')
plt.legend(title='疫苗类型')
plt.show()

补充说明

  • unstack(level=0)是将分组后的第一个索引(疫苗类型)转为列,每列对应一类疫苗的每日计数
  • 参数fill_value=0会将某类疫苗当日无数据的情况补为0,避免折线出现断层
  • 如果你使用的是葡萄牙语字段名,把groupby里的列名替换为实际的疫苗类型列、日期列即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 13:27:02