我有以下运行良好的代码:
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'])
已经尝试过了,没有成功。
好的,我找到了解决方案:
cities_states = df_city_sales['City'].str.cat(df_city_sales['State'], sep=', ')
plt.bar(cities_states, df_city_sales['Total_sale_amount'])