为了账号安全,请及时绑定邮箱和手机立即绑定

创建数据透视表的图表

创建数据透视表的图表

POPMUISE 2023-10-26 15:18:43
我创建一个数据透视表,我想创建一个条形图。这是我的数据透视表:我不知道如何提取 1970 列的值并使用此信息制作条形图。
查看完整描述

2 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

只需将数据框列名转换为str即可选择年份的1970数据df['1970']。然后,您可以使用pandas内置plot.bar方法来制作条形图。尝试这个:


import pandas as pd

import matplotlib.pyplot as plt


#converting column names to string

df.columns = df.columns.astype(str)


#plotting a bar plot

df['1970'].plot.bar()

plt.show()

基于@AlanDyke DataFrame 的示例:


import pandas as pd

import matplotlib.pyplot as plt


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')

df.columns = df.columns.astype(str)

df['1970'].plot.bar()


plt.show()

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

查看完整回答
反对 回复 2023-10-26
?
墨色风雨

TA贡献1853条经验 获得超6个赞

您可以使用 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])


查看完整回答
反对 回复 2023-10-26
  • 2 回答
  • 0 关注
  • 105 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信