在 pandas 的列中绘制带有年份的数据框
Plot dataframe with years in columns with pandas
我有一个看起来像这样的数据框:
country,2010,2011,2012
Afghanistan,1,2,3
Belize,5,3,2
England,3,3,4
我想绘制此数据框,以便每个国家都由折线图中的一条线表示,其中 x 轴表示年份。
我该怎么做?
我认为您可能需要重塑数据框:
%matplotlib inline
from io import StringIO
import pandas as pd
import matplotlib as mpl
mpl.rc("figure", figsize=(8,6))
data = """
country,2010,2011,2012
Afghanistan,1,2,3
Belize,5,3,2
England,3,3,4
"""
df = pd.read_csv(StringIO(data))
reshaped_df = pd.melt(df, id_vars=["country"], var_name="year")
df = reshaped_df.pivot(index='year', columns='country', values='value')
df.plot()
我有一个看起来像这样的数据框:
country,2010,2011,2012
Afghanistan,1,2,3
Belize,5,3,2
England,3,3,4
我想绘制此数据框,以便每个国家都由折线图中的一条线表示,其中 x 轴表示年份。
我该怎么做?
我认为您可能需要重塑数据框:
%matplotlib inline
from io import StringIO
import pandas as pd
import matplotlib as mpl
mpl.rc("figure", figsize=(8,6))
data = """
country,2010,2011,2012
Afghanistan,1,2,3
Belize,5,3,2
England,3,3,4
"""
df = pd.read_csv(StringIO(data))
reshaped_df = pd.melt(df, id_vars=["country"], var_name="year")
df = reshaped_df.pivot(index='year', columns='country', values='value')
df.plot()