groupby 之后 x 轴上有多个列

问题描述 投票:0回答:1

我有以下运行良好的代码:

df.groupby(['State', 'City']).Total_sale_amount.sum().plot.bar()

我希望在使用以下代码对同一数据帧进行分组后得到的数据帧上使用等效的内容:

df_city_sales = df.groupby(['City','State']).agg(Total_sale_amount=('Total_sale_amount', 'sum') ).reset_index()

现在,当我尝试使用如下代码绘制这个新数据框时:

plt.bar(df_city_sales[['City', 'State']], df_city_sales['Total_sale_amount'])

它不起作用,我尝试了其他语法,但它不起作用,得到这样的图相当于什么?谢谢。

其他语法如

plt.bar([df_city_sales['City'], df_city_sales['State']], df_city_sales['Total_sale_amount'])

plt.bar((df_city_sales['City'], df_city_sales['State']), df_city_sales['Total_sale_amount'])

已经尝试过了,没有成功。

python pandas matplotlib group-by visualization
1个回答
0
投票

好的,我找到了解决方案:

cities_states = df_city_sales['City'].str.cat(df_city_sales['State'], sep=', ') 

plt.bar(cities_states, df_city_sales['Total_sale_amount'])
© www.soinside.com 2019 - 2024. All rights reserved.