Home > database >  Python: Dataframe, how to plot two lines?
Python: Dataframe, how to plot two lines?

Time:01-29

result = df[(df['Sex']=='M')].groupby(['Year', 'Season'], as_index=False).size()

    Year  Season  size
0   1896  Summer   380
1   1900  Summer  1903
2   1904  Summer  1285
3   1906  Summer  1722
4   1908  Summer  3054
5   1912  Summer  3953
6   1920  Summer  4158
7   1924  Summer  4989
8   1924  Winter   443
9   1928  Summer  4588
10  1928  Winter   549
11  1932  Summer  2622
12  1932  Winter   330

I need to have a plot with two lines, one for Winter and one for Summer, x=YEAR.

So far:

result.plot.line(x='Year')

But it plots only one.

CodePudding user response:

Answer:

result = df[(df['Sex']=='M')].groupby(['Year', 'Season'], as_index=False).size()
result2 = result.pivot_table(index='Year', columns='Season', values='size')
result2.plot.line()

CodePudding user response:

Please try this, this should show two lines

result.set_index("Year", inplace=True)
result.groupby("Season")["size"].plot.line(legend=True, xlabel="Year", ylabel="Size")
  •  Tags:  
  • Related