创建数据透视表的图表

我创建一个数据透视表,我想创建一个条形图。这是我的数据透视表:


https://img1.sycdn.imooc.com/653a12fb0001ec0310010190.jpg

我不知道如何提取 1970 列的值并使用此信息制作条形图。



POPMUISE
浏览 106回答 2
2回答

慕沐林林

只需将数据框列名转换为str即可选择年份的1970数据df['1970']。然后,您可以使用pandas内置plot.bar方法来制作条形图。尝试这个:import pandas as pdimport matplotlib.pyplot as plt#converting column names to stringdf.columns = df.columns.astype(str)#plotting a bar plotdf['1970'].plot.bar()plt.show()基于@AlanDyke DataFrame 的示例:import pandas as pdimport matplotlib.pyplot as pltdf = pd.DataFrame([[1970,'a',1],                   [1970,'b',2],                   [1971,'a',2],                   [1971,'b',3]],                   columns=['year','location', 'value'])df = pd.pivot_table(df, values='value', index='location', columns='year')df.columns = df.columns.astype(str)df['1970'].plot.bar()plt.show()

墨色风雨

您可以使用 plt.bar 并对数据帧进行切片:df = pd.DataFrame([[1970,'a',1],                   [1970,'b',2],                    [1971,'a',2],                   [1971,'b',3]],                   columns=['year','location', 'value'])df = pd.pivot_table(df, values='value', index='location', columns='year')plt.bar(list(df.transpose().columns), height=df[1970])
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python