我创建了一个数据透视表,并希望创建一个条形图。这是我的pivot_table:
我不知道如何提取列1970的值,并使用此信息制作条形图。
z3yyvxxp1#
只需将dataframe列名转换为str,然后就可以用df['1970']选择1970年的数据,然后就可以使用pandas内置的plot.bar方法制作柱状图了,试试这个:
str
df['1970']
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数据框的示例:
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()
rqenqsqc2#
您可以使用plt.bar并对 Dataframe 进行切片:
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])
2条答案
按热度按时间z3yyvxxp1#
只需将dataframe列名转换为
str
,然后就可以用df['1970']
选择1970
年的数据,然后就可以使用pandas
内置的plot.bar
方法制作柱状图了,试试这个:基于@AlanDyke数据框的示例:
rqenqsqc2#
您可以使用plt.bar并对 Dataframe 进行切片: