0%

python数据分析与机器学习实战-07.Pandas数据预处理

1
2
3
4
5
import pandas
import numpy
df_sales = pandas.read_excel("sales.xlsx")
print(df_sales.head())
print(df_sales.shape)
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
                  门店  区域         11月总销售        11月总毛利         目标销售     实际完成  \
0 好药师大药房连锁有限公司团结新村店 蔡静 103617.600000 37506.576000 2898.394406 1643.08
1 武汉市好药师文华大药房有限公司 蔡静 136347.184988 46358.042896 3813.907272 3234.51
2 好药师大药房连锁有限公司七里店 蔡静 153700.000000 61480.000000 4299.300699 5682.10
3 好药师大药房连锁有限公司汉城店 蔡静 127200.000000 49544.400000 3558.041958 4836.00
4 好药师大药房连锁有限公司太子水榭店 蔡静 74200.000000 23744.000000 2075.524476 657.38

销售完成率 实际完成.1
0 0.566893 528.70
1 0.848083 1085.40
2 1.321634 1728.18
3 1.359175 2116.98
4 0.316730 4.48
(48, 8)
# 算数运算
#print(df_sales["销售完成率"]*100)
new_column = df_sales["目标销售"]+df_sales["实际完成"]
df_sales['销售'] = new_column
print(df_sales.shape)
(48, 9)
#取最大值
print(df_sales["11月总毛利"]/df_sales["11月总毛利"].max())
0 0.085602
1 0.105803
2 0.140316
3 0.113076
4 0.054191
5 0.047801
6 0.244915
7 1.000000
8 0.027616
9 0.051923
10 0.125299
11 0.156853
12 0.205408
13 0.280382
14 0.205408
15 0.066929
16 0.251054
17 0.116553
18 0.124250
19 0.067784
20 0.057423
21 0.000000
22 0.212081
23 0.064224
24 0.136869
25 0.000000
26 0.693822
27 0.337782
28 0.089752
29 0.000000
30 0.139677
31 0.073400
32 0.198362
33 0.145881
34 0.109551
35 0.035946
36 0.087298
37 0.284832
38 0.240555
39 0.086614
40 0.353353
41 0.077599
42 0.156110
43 0.102704
44 0.077350
45 0.090379
46 0.120506
47 0.048887
Name: 11月总毛利, dtype: float64
#排序
df_sales.sort_values("11月总毛利",inplace=True)
print(df_sales["11月总毛利"])
29 0.000000
25 0.000000
21 0.000000
8 12100.000000
35 15750.000000
5 20944.000000
47 21420.000000
9 22750.000000
4 23744.000000
20 25160.000000
23 28139.925000
15 29325.000000
19 29699.610400
31 32160.400000
44 33891.000000
41 34000.000000
0 37506.576000
39 37950.000000
36 38250.000000
28 39325.000000
45 39600.000000
43 45000.000000
1 46358.042896
34 48000.000000
3 49544.400000
17 51068.000000
46 52800.000000
18 54440.670000
10 54900.080896
24 59969.500000
30 61200.000000
2 61480.000000
33 63918.000000
42 68400.000000
11 68725.552000
32 86912.812541
14 90000.000000
12 90000.192024
22 92923.865784
38 105400.000000
6 107310.000000
16 110000.000000
13 122850.000000
37 124800.000000
27 148000.000000
40 154822.662039
26 304000.000000
7 438152.548219
Name: 11月总毛利, dtype: float64
#降序排列
df_sales.sort_values("11月总毛利",inplace=True,ascending=False)
print(df_sales["11月总毛利"])
7 438152.548219
26 304000.000000
40 154822.662039
27 148000.000000
37 124800.000000
13 122850.000000
16 110000.000000
6 107310.000000
38 105400.000000
22 92923.865784
12 90000.192024
14 90000.000000
32 86912.812541
11 68725.552000
42 68400.000000
33 63918.000000
2 61480.000000
30 61200.000000
24 59969.500000
10 54900.080896
18 54440.670000
46 52800.000000
17 51068.000000
3 49544.400000
34 48000.000000
1 46358.042896
43 45000.000000
45 39600.000000
28 39325.000000
36 38250.000000
39 37950.000000
0 37506.576000
41 34000.000000
44 33891.000000
31 32160.400000
19 29699.610400
15 29325.000000
23 28139.925000
20 25160.000000
4 23744.000000
9 22750.000000
47 21420.000000
5 20944.000000
35 15750.000000
8 12100.000000
21 0.000000
25 0.000000
29 0.000000
Name: 11月总毛利, dtype: float64
#求每个区域当天实际总销售
area_sales = df_sales.pivot_table(index = "区域",values = "实际完成",aggfunc = numpy.sum)
print(area_sales.sort_values("实际完成"))
实际完成
区域
熊红萍 9546.41
廖燕妮 29542.66
胡萍 48549.48
李宁 65614.81
涂梦芸 75627.41
蔡静 78091.85