# Time: 2020/08/06
#Author: Xiaohong
# 运行环境: OS: Windows 10
# Python: 3.7
# 功能: 以 panda 导入1份文件, 以仓别分组,求得累计缴库量、累计出库量,并以堆叠柱状图方式显示
效果如下:
主程序为(Tl_B08.py):
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81import pandas as pd import os import matplotlib.pyplot as plt data_file=r'E:\vscode_2020\vstestfxh\fxh_qt501\fxh_qt501\source_file\sfpis\rb090.csv' #输出位置 output_path=r'./output' if not os.path.exists(output_path): os.makedirs(output_path) def collect_data(): ''' 收集数据:用pandas的 read_csv 函数来读取数据 ''' data_df=pd.read_csv(data_file) return data_df def inspect_data(data_df): ''' 查看数据:通过 info、head、describe 函数来 读取基本信息 ''' print(data_df.info()) print('-'*20) print(data_df.head()) print('-'*20) print(data_df.describe()) pass def process_data(data_df): ''' 清洗数据:清除 为空值的记录 ''' # cln_data_df=data_df.dropna() # print(cln_data_df.info()) # 过滤数据:只取ML1线的数据 cond_ml1= (data_df['RB090_PROD_LINE']=='SF ML1') cond_ml1_data=data_df[cond_ml1] # print(cond_ml1_data) pass def analyze_data(data_df): ''' 分析、加工数据:以Stock_no分类,合计 in_qty,out_qty ''' # 以 in_qty 降序排列 top20_qty=data_df.sort_values(by='RB090_IN_QTY',ascending=False).head(20) # print(top20_qty) grouped_df=data_df.groupby('RB090_STOCK_NO') group_result=grouped_df['RB090_IN_QTY','RB090_OUT_QTY'].sum() return group_result def show_save_result(group_result): ''' 保存结果: 存成CSV文件,形成直方图(in_qty& out_qty堆叠) ''' group_result.to_csv(os.path.join(output_path,'group_result.csv')) # group_result.plot(kind='bar',x='Stock_no',y='In_qtys') group_result.plot.bar(stacked=True) plt.title('In qty/Outqty') plt.tight_layout() plt.legend(loc='best') plt.savefig(os.path.join(output_path,'group_result.png')) plt.show() def main(): #收集数据 data_df=collect_data() #查看数据 # inspect_data(data_df) #清洗数据 process_data(data_df) #分析、加工数据 group_result=analyze_data(data_df) #保存结果 show_save_result(group_result) if __name__ == '__main__': main()
最后
以上就是爱听歌鸵鸟最近收集整理的关于Python 数据分析测试7 之 分组数据的 堆叠柱状图显示(Panda)的全部内容,更多相关Python内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复