绘制每个日期的不同事件
Plot different occurrences per date
我有一个包含很多列的数据集,其中两个是:
Type of vaccine
Date
A
01-01-2021
A
01-01-2021
B
01-01-2021
C
02-01-2021
B
02-01-2021
D
03-01-2021
E
04-01-2021
...
...
我想绘制一个折线图,显示每种类型的疫苗及其每个日期的数量。
我有这样的情节
plot2 = df.value_counts('vacina_dataaplicacao').sort_values().plot(kind='line', cmap='plasma')
但它只显示一行和每个日期的总数。我需要分开,每一种疫苗一行。
一行即可完成:
pd.crosstab(pd.to_datetime(df['Date']), df['Type of vaccine']).cumsum().plot()
感谢@TrentonMcKinney 使用 pd.crosstab
!
的想法
最初,我使用基本的 groupby
:
df = df.assign(Date=pd.to_datetime(df['Date']))
tally = df.groupby(['Date', 'Type of vaccine']).size().unstack(fill_value=0)
tally.cumsum().plot()
我有一个包含很多列的数据集,其中两个是:
Type of vaccine | Date |
---|---|
A | 01-01-2021 |
A | 01-01-2021 |
B | 01-01-2021 |
C | 02-01-2021 |
B | 02-01-2021 |
D | 03-01-2021 |
E | 04-01-2021 |
... | ... |
我想绘制一个折线图,显示每种类型的疫苗及其每个日期的数量。
我有这样的情节
plot2 = df.value_counts('vacina_dataaplicacao').sort_values().plot(kind='line', cmap='plasma')
但它只显示一行和每个日期的总数。我需要分开,每一种疫苗一行。
一行即可完成:
pd.crosstab(pd.to_datetime(df['Date']), df['Type of vaccine']).cumsum().plot()
感谢@TrentonMcKinney 使用 pd.crosstab
!
最初,我使用基本的 groupby
:
df = df.assign(Date=pd.to_datetime(df['Date']))
tally = df.groupby(['Date', 'Type of vaccine']).size().unstack(fill_value=0)
tally.cumsum().plot()