给定一个长(整齐)格式的数据框,pandas.DataFrame.pivot
用于转换为宽格式,可以直接使用pandas.DataFrame.plot
测试于python 3.8.11
, pandas 1.3.3
, matplotlib 3.4.3
import numpy as np
import pandas as pd
control_1960_to_1962 = pd.DataFrame({
'State': np.repeat(['Alaska', 'Maine', 'Michigan', 'Minnesota', 'Wisconsin'], 3),
'Year': [1960, 1961, 1962]*5,
'Murder Rate': [10.2, 11.5, 4.5, 1.7, 1.6, 1.4, 4.5, 4.1, 3.4, 1.2, 1.0, .9, 1.3, 1.6, .9]
})
df = control_1960_to_1962.pivot(index='Year', columns='State', values='Murder Rate')
# display(df)
State Alaska Maine Michigan Minnesota Wisconsin
Year
1960 10.2 1.7 4.5 1.2 1.3
1961 11.5 1.6 4.1 1.0 1.6
1962 4.5 1.4 3.4 0.9 0.9
地块
你可以告诉 Pandas(并通过它matplotlib
实际执行绘图的包)您明确想要的 xticks :
ax = df.plot(xticks=df.index, ylabel='Murder Rate')
Output:
ax
is a matplotlib.axes.Axes object,并且您可以通过它对您的情节进行很多很多的自定义。
以下是如何用States
在 x 轴上:
ax = df.T.plot(kind='bar', ylabel='Murder Rate')
Output: