df=pd.read_csv("#.csv")
df=df[['s','f','o']]
dfgroup=df.groupby([df['s'],df['f']]).agg('sum').unstack().round(2)
# 然后使用并列柱状图进行分析不同区域之间产品需求量的特性
# 设置绘图的整体表现
plt.rcParams['font.sans-serif'] = ['SimHei'] # 设置图像字体为黑体,同时可以显示中文
plt.rcParams['axes.unicode_minus'] = False # 设置显示负号
dfgroup.plot(kind='bar')
plt.xlabel('区域')
plt.ylabel('需求量')
plt.title('不同区域产品(按产品大类编码)需求量的特性')
plt.show()
首先是读取文件,从文件中提取出想要的数据,如本文提取的是s,f,o
dfgroup=df.groupby([df['s'],df['f']]).agg('sum').unstack().round(2)
对数据框 df 按照 's' 和 'f' 进行分组,然后对分组后的数据进行求和操作(agg('sum'))。之后使用 unstack() 将 'first_cate_code' 转换为列索引,形成一个多级列索引的数据框。最后使用 round(2) 将所有数值保留两位小数。
请注意,上述代码中的 df 是一个数据框,其中包含了 's' 和 'f' 两列。这段代码的目的是将这两列作为分组条件,对其他数值列进行求和并整理成适合分析的形式。
dfgroup.plot(kind='bar')
使用kind='bar'是设置垂直柱状图,若需要水平柱状图,可使用kind='barh'
运行结果