学习pandas全套代码【超详细】分箱操作、分组聚合、时间序列、数据可视化




|  | 0 | 1 | 2 |
| --- | --- | --- | --- |
| 0 | 1 | 1 | 6 |
| 1 | 4 | 6 | 0 |
| 2 | 7 | 5 | 0 |
| 3 | 8 | 2 | 3 |
| 4 | 9 | 5 | 6 |
| 5 | 4 | 2 | 9 |
| 6 | 7 | 5 | 2 |
| 7 | 3 | 3 | 4 |
| 8 | 4 | 4 | 3 |
| 9 | 7 | 4 | 4 |



df = pd.DataFrame(data = {‘sex’:np.random.randint(0,2,size = 300),
‘class’:np.random.randint(1,9,size = 300),
‘Python’:np.random.randint(0,151,size = 300),
‘Math’:np.random.randint(0,151,size = 300),
‘En’:np.random.randint(0,151,size = 300)})
df[‘sex’] = df[‘sex’].map({0:‘男’,1:‘女’})
df




|  | sex | class | Python | Math | En |
| --- | --- | --- | --- | --- | --- |
| 0 | 男 | 2 | 46 | 96 | 148 |
| 1 | 男 | 8 | 122 | 141 | 67 |
| 2 | 女 | 7 | 144 | 8 | 31 |
| 3 | 女 | 1 | 58 | 78 | 94 |
| 4 | 女 | 6 | 86 | 70 | 62 |
| … | … | … | … | … | … |
| 295 | 男 | 7 | 1 | 141 | 82 |
| 296 | 女 | 4 | 65 | 118 | 106 |
| 297 | 男 | 6 | 14 | 148 | 55 |
| 298 | 女 | 5 | 7 | 46 | 132 |
| 299 | 男 | 8 | 61 | 34 | 46 |


300 rows × 5 columns



单分组

for name,group in df.groupby(by = ‘sex’): # 分两组
print(name)
print(group)




sex class Python Math En
2 女 7 144 8 31
3 女 1 58 78 94
4 女 6 86 70 62
5 女 2 3 101 40
6 女 8 87 60 141
… … … … … …
282 女 6 32 86 72
284 女 2 41 17 61
288 女 6 9 82 87
296 女 4 65 118 106
298 女 5 7 46 132

[139 rows x 5 columns]

sex class Python Math En
0 男 2 46 96 148
1 男 8 122 141 67
8 男 2 65 13 117
12 男 5 50 46 134
13 男 2 95 29 139
… … … … … …
293 男 7 61 43 11
294 男 5 78 47 143
295 男 7 1 141 82
297 男 6 14 148 55
299 男 8 61 34 46

[161 rows x 5 columns]



多分组

for name ,group in df.groupby(by = [‘sex’,‘class’]): # sex 2,class 8: 16组
print(name)
print(group)



(‘女’, 1)
sex class Python Math En
3 女 1 58 78 94
26 女 1 33 22 84
62 女 1 64 128 134
71 女 1 77 6 116
78 女 1 81 145 113
80 女 1 147 27 145
81 女 1 137 83 101
89 女 1 140 46 129
100 女 1 144 126 10
113 女 1 8 15 123
126 女 1 1 7 58
130 女 1 30 133 24
156 女 1 114 125 87
197 女 1 14 118 144
211 女 1 140 23 57
231 女 1 106 90 50
232 女 1 20 132 81
250 女 1 74 38 86
251 女 1 52 3 129
256 女 1 4 82 104
263 女 1 73 125 115
(‘女’, 2)
sex class Python Math En
5 女 2 3 101 40
9 女 2 83 110 74
11 女 2 141 88 12
29 女 2 128 44 16
67 女 2 40 122 72
76 女 2 143 127 5
90 女 2 120 84 48
98 女 2 40 74 62
112 女 2 97 35 55
149 女 2 19 149 65
165 女 2 5 29 98
175 女 2 112 124 95
178 女 2 42 101 21
240 女 2 46 58 85
241 女 2 145 122 104
243 女 2 135 100 120
262 女 2 34 68 87
270 女 2 96 128 46
278 女 2 44 19 107
284 女 2 41 17 61
(‘女’, 3)
sex class Python Math En
7 女 3 57 66 139
24 女 3 65 75 149
39 女 3 101 68 62
55 女 3 56 2 48
61 女 3 38 39 114
88 女 3 100 50 112
101 女 3 21 72 102
102 女 3 49 22 27
122 女 3 96 121 110
128 女 3 52 46 138
150 女 3 150 86 1
159 女 3 2 140 34
160 女 3 84 127 70
162 女 3 19 110 93
163 女 3 40 127 96
173 女 3 146 109 48
207 女 3 56 58 76
(‘女’, 4)
sex class Python Math En
10 女 4 148 41 69
15 女 4 119 133 55
54 女 4 9 40 95
57 女 4 115 106 45
65 女 4 145 60 22
74 女 4 12 131 31
84 女 4 1 110 79
93 女 4 14 64 45
106 女 4 73 139 90
115 女 4 84 107 2
117 女 4 6 62 124
186 女 4 71 49 123
193 女 4 51 109 13
199 女 4 66 143 81
206 女 4 106 59 7
226 女 4 11 125 71
276 女 4 28 40 46
296 女 4 65 118 106
(‘女’, 5)
sex class Python Math En
21 女 5 70 68 41
82 女 5 19 98 51
87 女 5 34 94 88
107 女 5 64 19 142
114 女 5 129 33 14
141 女 5 91 49 141
188 女 5 138 89 25
194 女 5 45 47 84
195 女 5 24 1 133
228 女 5 130 100 131
230 女 5 46 138 33
234 女 5 144 140 66
237 女 5 48 84 80
255 女 5 8 61 133
298 女 5 7 46 132
(‘女’, 6)
sex class Python Math En
4 女 6 86 70 62
32 女 6 112 128 32
33 女 6 129 30 38
43 女 6 140 150 95
77 女 6 48 104 130
152 女 6 94 19 127
181 女 6 119 83 16
203 女 6 118 104 67
210 女 6 87 58 2
238 女 6 113 131 44
260 女 6 56 48 116
282 女 6 32 86 72
288 女 6 9 82 87
(‘女’, 7)
sex class Python Math En
2 女 7 144 8 31
16 女 7 142 12 57
40 女 7 107 113 124
59 女 7 78 142 30
64 女 7 3 128 72
96 女 7 10 68 2
104 女 7 57 85 66
105 女 7 53 73 79
108 女 7 103 135 2
151 女 7 122 12 92
174 女 7 101 105 85
192 女 7 108 68 140
221 女 7 59 74 1
225 女 7 95 52 98
246 女 7 122 82 96
257 女 7 103 49 30
266 女 7 87 130 54
267 女 7 145 99 27
271 女 7 99 58 111
(‘女’, 8)
sex class Python Math En
6 女 8 87 60 141
34 女 8 38 98 139
46 女 8 28 31 3
53 女 8 125 130 51
56 女 8 109 88 30
63 女 8 34 35 145
70 女 8 52 34 16
95 女 8 1 12 88
103 女 8 51 42 44
118 女 8 31 107 15
144 女 8 27 144 61
176 女 8 64 13 127
196 女 8 52 6 44
222 女 8 19 115 81
252 女 8 106 29 26
265 女 8 41 137 12
(‘男’, 1)
sex class Python Math En
69 男 1 143 24 78
72 男 1 32 59 148
85 男 1 43 9 3
99 男 1 12 52 41
110 男 1 67 136 7
137 男 1 128 95 1
142 男 1 36 142 68
148 男 1 66 100 51
153 男 1 124 40 132
200 男 1 6 74 122
209 男 1 18 74 133
212 男 1 129 15 73
213 男 1 21 43 59
244 男 1 26 60 74
259 男 1 67 28 89
268 男 1 68 49 29
269 男 1 92 129 28
273 男 1 18 97 114
281 男 1 86 149 55
292 男 1 1 107 67
(‘男’, 2)
sex class Python Math En
0 男 2 46 96 148
8 男 2 65 13 117
13 男 2 95 29 139
27 男 2 49 11 134
31 男 2 133 149 75
38 男 2 61 145 40
49 男 2 131 133 100
52 男 2 45 67 37
58 男 2 27 122 18
94 男 2 85 135 22
109 男 2 102 78 86
120 男 2 118 72 59
123 男 2 111 148 140
125 男 2 42 109 41
146 男 2 17 53 3
177 男 2 16 137 79
189 男 2 51 49 139
198 男 2 83 60 15
217 男 2 112 64 12
248 男 2 89 111 72
249 男 2 147 104 127
254 男 2 13 12 12
264 男 2 122 148 141
279 男 2 121 85 26
(‘男’, 3)
sex class Python Math En
25 男 3 44 6 109
68 男 3 49 97 74
79 男 3 34 39 106
129 男 3 143 16 129
134 男 3 131 20 12
161 男 3 131 143 39
169 男 3 91 60 67
170 男 3 112 150 135
180 男 3 45 106 62
187 男 3 111 44 24
218 男 3 150 14 22
219 男 3 73 1 81
224 男 3 47 27 7
239 男 3 86 5 112
242 男 3 25 44 124
245 男 3 72 145 61
272 男 3 57 143 59
291 男 3 67 117 120
(‘男’, 4)
sex class Python Math En
14 男 4 124 113 76
17 男 4 124 60 19
18 男 4 150 32 63
23 男 4 65 74 23
36 男 4 62 8 10
47 男 4 112 9 7
75 男 4 95 92 52
91 男 4 77 0 74
92 男 4 104 118 73
111 男 4 138 52 70
116 男 4 106 46 80
124 男 4 3 101 76
140 男 4 110 63 113
157 男 4 102 65 117
179 男 4 127 61 85
214 男 4 108 123 119
227 男 4 124 86 78
247 男 4 134 85 66
261 男 4 2 114 138
275 男 4 57 65 129
283 男 4 127 29 5
290 男 4 133 113 73
(‘男’, 5)
sex class Python Math En
12 男 5 50 46 134
37 男 5 0 143 59
41 男 5 3 64 46
51 男 5 38 20 122
60 男 5 92 132 134
73 男 5 49 31 125
155 男 5 6 63 109
164 男 5 89 54 93
171 男 5 144 122 75
184 男 5 98 24 147
201 男 5 132 80 106
202 男 5 96 29 150
216 男 5 79 96 57
233 男 5 34 90 114
277 男 5 37 111 24
285 男 5 95 43 9
294 男 5 78 47 143
(‘男’, 6)
sex class Python Math En
28 男 6 46 35 22
30 男 6 105 88 123
35 男 6 112 1 37
45 男 6 39 35 105
48 男 6 89 49 27
50 男 6 90 134 51
83 男 6 53 6 21
97 男 6 24 40 137
119 男 6 13 20 140
127 男 6 48 145 3
132 男 6 82 129 138
139 男 6 19 104 129
143 男 6 103 4 104
158 男 6 105 66 111
182 男 6 17 136 113
185 男 6 23 117 2
191 男 6 137 53 56
215 男 6 66 140 64
235 男 6 110 112 135
236 男 6 68 44 67
253 男 6 38 131 88
274 男 6 52 97 18
289 男 6 150 95 86
297 男 6 14 148 55
(‘男’, 7)
sex class Python Math En
42 男 7 53 138 40
44 男 7 46 74 57
66 男 7 51 98 27
136 男 7 47 63 128
138 男 7 26 1 5
145 男 7 82 57 84
147 男 7 71 13 64
154 男 7 147 109 100
167 男 7 116 6 93
168 男 7 141 86 126
183 男 7 53 30 139
204 男 7 141 50 138
208 男 7 122 60 101
220 男 7 35 139 124
258 男 7 150 140 134
286 男 7 115 1 137
293 男 7 61 43 11
295 男 7 1 141 82
(‘男’, 8)
sex class Python Math En
1 男 8 122 141 67
19 男 8 49 101 102
20 男 8 128 32 72
22 男 8 140 139 12
86 男 8 25 70 13
121 男 8 130 101 126
131 男 8 123 64 133
133 男 8 62 147 20
135 男 8 142 34 3
166 男 8 72 80 99
172 男 8 97 72 0
190 男 8 131 100 13
205 男 8 65 22 55
223 男 8 75 62 110
229 男 8 62 137 100
280 男 8 46 73 149
287 男 8 107 25 129
299 男 8 61 34 46



g = df.groupby(by = ‘sex’)[[‘Math’,‘En’]] # 分组取数据



m = {‘sex’:‘category’,‘class’:‘category’,‘Python’:‘IT’,‘Keras’:‘IT’,‘Tensorflow’:‘IT’,‘Java’:‘IT’,‘C++’:‘IT’}
for name,data in df.groupby(m,axis = 0):
print(‘组名’,name)
print(‘数据’,data)



for name,group in g:
print(name)
print(group)




sex class Python Math En
2 女 7 144 8 31
3 女 1 58 78 94
4 女 6 86 70 62
5 女 2 3 101 40
6 女 8 87 60 141
… … … … … …
282 女 6 32 86 72
284 女 2 41 17 61
288 女 6 9 82 87
296 女 4 65 118 106
298 女 5 7 46 132

[139 rows x 5 columns]

sex class Python Math En
0 男 2 46 96 148
1 男 8 122 141 67
8 男 2 65 13 117
12 男 5 50 46 134
13 男 2 95 29 139
… … … … … …
293 男 7 61 43 11
294 男 5 78 47 143
295 男 7 1 141 82
297 男 6 14 148 55
299 男 8 61 34 46

[161 rows x 5 columns]



for name ,group in df[‘Math’].groupby([df[‘sex’],df[‘class’]]):
print(name)
print(group)



(‘女’, 1)
3 78
26 22
62 128
71 6
78 145
80 27
81 83
89 46
100 126
113 15
126 7
130 133
156 125
197 118
211 23
231 90
232 132
250 38
251 3
256 82
263 125
Name: Math, dtype: int64
(‘女’, 2)
5 101
9 110
11 88
29 44
67 122
76 127
90 84
98 74
112 35
149 149
165 29
175 124
178 101
240 58
241 122
243 100
262 68
270 128
278 19
284 17
Name: Math, dtype: int64
(‘女’, 3)
7 66
24 75
39 68
55 2
61 39
88 50
101 72
102 22
122 121
128 46
150 86
159 140
160 127
162 110
163 127
173 109
207 58
Name: Math, dtype: int64
(‘女’, 4)
10 41
15 133
54 40
57 106
65 60
74 131
84 110
93 64
106 139
115 107
117 62
186 49
193 109
199 143
206 59
226 125
276 40
296 118
Name: Math, dtype: int64
(‘女’, 5)
21 68
82 98
87 94
107 19
114 33
141 49
188 89
194 47
195 1
228 100
230 138
234 140
237 84
255 61
298 46
Name: Math, dtype: int64
(‘女’, 6)
4 70
32 128
33 30
43 150
77 104
152 19
181 83
203 104
210 58
238 131
260 48
282 86
288 82
Name: Math, dtype: int64
(‘女’, 7)
2 8
16 12
40 113
59 142
64 128
96 68
104 85
105 73
108 135
151 12
174 105
192 68
221 74
225 52
246 82
257 49
266 130
267 99
271 58
Name: Math, dtype: int64
(‘女’, 8)
6 60
34 98
46 31
53 130
56 88
63 35
70 34
95 12
103 42
118 107
144 144
176 13
196 6
222 115
252 29
265 137
Name: Math, dtype: int64
(‘男’, 1)
69 24
72 59
85 9
99 52
110 136
137 95
142 142
148 100
153 40
200 74
209 74
212 15
213 43
244 60
259 28
268 49
269 129
273 97
281 149
292 107
Name: Math, dtype: int64
(‘男’, 2)
0 96
8 13
13 29
27 11
31 149
38 145
49 133
52 67
58 122
94 135
109 78
120 72
123 148
125 109
146 53
177 137
189 49
198 60
217 64
248 111
249 104
254 12
264 148
279 85
Name: Math, dtype: int64
(‘男’, 3)
25 6
68 97
79 39
129 16
134 20
161 143
169 60
170 150
180 106
187 44
218 14
219 1
224 27
239 5
242 44
245 145
272 143
291 117
Name: Math, dtype: int64
(‘男’, 4)
14 113
17 60
18 32
23 74
36 8
47 9
75 92
91 0
92 118
111 52
116 46
124 101
140 63
157 65
179 61
214 123
227 86
247 85
261 114
275 65
283 29
290 113
Name: Math, dtype: int64
(‘男’, 5)
12 46
37 143
41 64
51 20
60 132
73 31
155 63
164 54
171 122
184 24
201 80
202 29
216 96
233 90
277 111
285 43
294 47
Name: Math, dtype: int64
(‘男’, 6)
28 35
30 88
35 1
45 35
48 49
50 134
83 6
97 40
119 20
127 145
132 129
139 104
143 4
158 66
182 136
185 117
191 53
215 140
235 112
236 44
253 131
274 97
289 95
297 148
Name: Math, dtype: int64
(‘男’, 7)
42 138
44 74
66 98
136 63
138 1
145 57
147 13
154 109
167 6
168 86
183 30
204 50
208 60
220 139
258 140
286 1
293 43
295 141
Name: Math, dtype: int64
(‘男’, 8)
1 141
19 101
20 32
22 139
86 70
121 101
131 64
133 147
135 34
166 80
172 72
190 100
205 22
223 62
229 137
280 73
287 25
299 34
Name: Math, dtype: int64



for name,group in df[[‘Math’,‘Python’]].groupby(df[‘sex’]):
print(name)
print(group)




Math Python
2 8 144
3 78 58
4 70 86
5 101 3
6 60 87
… … …
282 86 32
284 17 41
288 82 9
296 118 65
298 46 7

[139 rows x 2 columns]

Math Python
0 96 46
1 141 122
8 13 65
12 46 50
13 29 95
… … …
293 43 61
294 47 78
295 141 1
297 148 14
299 34 61

[161 rows x 2 columns]



for name,group in df.groupby(df.dtypes,axis = 1):
print(name)
print(group)



int64
class Python Keras Tensorflow Java C++
0 5 25 103 121 25 51
1 4 80 64 140 122 66
2 3 136 63 64 97 30
3 8 125 92 38 81 129
4 2 107 99 78 48 117
… … … … … … …
295 4 105 79 84 51 86
296 7 56 91 25 78 44
297 8 43 109 10 71 78
298 8 107 113 121 9 12
299 5 36 25 46 102 36

[300 rows x 6 columns]
object
sex
0 男
1 男
2 女
3 女
4 男
… …
295 女
296 女
297 女
298 女
299 男

[300 rows x 1 columns]



df = pd.DataFrame(data = {‘sex’:np.random.randint(0,2,size = 300),
‘class’:np.random.randint(1,9,size = 300),
‘Python’:np.random.randint(0,151,size = 300),
‘Math’:np.random.randint(0,151,size = 300),
‘En’:np.random.randint(0,151,size = 300)})
df[‘sex’] = df[‘sex’].map({0:‘男’,1:‘女’})
df




|  | sex | class | Python | Math | En |
| --- | --- | --- | --- | --- | --- |
| 0 | 女 | 7 | 0 | 104 | 82 |
| 1 | 女 | 4 | 30 | 106 | 54 |
| 2 | 男 | 4 | 138 | 126 | 88 |
| 3 | 女 | 1 | 26 | 98 | 57 |
| 4 | 男 | 2 | 54 | 86 | 60 |
| … | … | … | … | … | … |
| 295 | 男 | 4 | 105 | 27 | 130 |
| 296 | 女 | 6 | 137 | 115 | 59 |
| 297 | 男 | 5 | 131 | 124 | 28 |
| 298 | 女 | 8 | 64 | 80 | 0 |
| 299 | 男 | 1 | 62 | 142 | 48 |


300 rows × 5 columns



for name,group in df.groupby(by = ‘sex’): # 单分组
print(name)
print(group)




sex class Python Math En
0 女 7 0 104 82
1 女 4 30 106 54
3 女 1 26 98 57
5 女 4 89 6 45
6 女 3 142 115 61
… … … … … …
288 女 7 134 54 5
291 女 4 33 0 42
294 女 3 34 138 21
296 女 6 137 115 59
298 女 8 64 80 0

[168 rows x 5 columns]

sex class Python Math En
2 男 4 138 126 88
4 男 2 54 86 60
7 男 5 135 141 5
8 男 3 90 99 83
10 男 7 5 139 105
… … … … … …
292 男 5 135 1 31
293 男 2 34 92 150
295 男 4 105 27 130
297 男 5 131 124 28
299 男 1 62 142 48

[132 rows x 5 columns]



for name,group in df.groupby(by = [‘sex’,‘class’]): # 多分组,性别2,class 8 = 16
print(name)
print(group)



(‘女’, 1)
sex class Python Math En
3 女 1 26 98 57
16 女 1 144 79 143
27 女 1 18 98 104
48 女 1 111 140 54
55 女 1 59 43 6
61 女 1 109 132 2
74 女 1 71 62 35
93 女 1 80 131 41
157 女 1 96 11 130
168 女 1 76 23 137
188 女 1 80 16 100
203 女 1 48 137 102
207 女 1 11 78 42
236 女 1 2 119 148
275 女 1 56 109 22
278 女 1 93 22 45
287 女 1 115 115 118
(‘女’, 2)
sex class Python Math En
14 女 2 129 142 116
20 女 2 20 64 139
50 女 2 135 77 58
53 女 2 129 50 84
70 女 2 58 145 123
73 女 2 142 48 136
103 女 2 129 39 107
124 女 2 118 112 103
126 女 2 10 72 57
135 女 2 112 137 38
139 女 2 74 22 118
159 女 2 95 79 40
171 女 2 94 43 30
175 女 2 110 1 4
184 女 2 68 20 76
204 女 2 117 121 0
257 女 2 18 127 135
277 女 2 35 90 96
282 女 2 0 132 119
285 女 2 132 11 146
286 女 2 103 21 122
(‘女’, 3)
sex class Python Math En
6 女 3 142 115 61
18 女 3 54 70 71
51 女 3 4 20 105
65 女 3 63 48 11
71 女 3 137 150 83
88 女 3 3 114 9
106 女 3 17 108 35
116 女 3 46 70 3
127 女 3 104 92 18
130 女 3 27 138 76
166 女 3 48 81 61
208 女 3 146 39 135
219 女 3 142 91 20
237 女 3 112 105 137
239 女 3 74 129 63
243 女 3 147 52 104
248 女 3 61 124 122
266 女 3 92 110 31
276 女 3 51 75 26
280 女 3 25 103 118
283 女 3 0 37 54
294 女 3 34 138 21
(‘女’, 4)
sex class Python Math En
1 女 4 30 106 54
5 女 4 89 6 45
24 女 4 140 95 56
28 女 4 47 66 136
39 女 4 48 7 67
45 女 4 91 60 33
49 女 4 130 34 43
69 女 4 131 92 108
72 女 4 34 86 86
84 女 4 78 51 52
89 女 4 114 61 40
95 女 4 67 35 104
96 女 4 118 91 14
105 女 4 6 2 44
118 女 4 138 19 42
129 女 4 94 76 96
141 女 4 8 48 2
191 女 4 77 14 127
192 女 4 113 18 8
198 女 4 106 18 103
199 女 4 16 27 96
252 女 4 51 53 88
258 女 4 79 12 150
291 女 4 33 0 42
(‘女’, 5)
sex class Python Math En
9 女 5 65 100 37
12 女 5 143 134 53
17 女 5 128 108 103
25 女 5 100 59 73
29 女 5 10 44 123
67 女 5 61 15 122
80 女 5 79 74 100
86 女 5 95 69 75
108 女 5 9 108 3
115 女 5 64 124 73
132 女 5 122 46 59
150 女 5 84 77 6
154 女 5 110 4 33
160 女 5 127 55 1
162 女 5 37 77 120
164 女 5 137 125 66
176 女 5 62 57 116
177 女 5 33 123 105
190 女 5 146 123 24
213 女 5 52 23 110
224 女 5 93 52 123
238 女 5 26 15 112
253 女 5 1 37 78
(‘女’, 6)
sex class Python Math En
13 女 6 97 92 72
23 女 6 44 22 115
30 女 6 13 133 53
38 女 6 37 73 140
43 女 6 109 111 99
44 女 6 126 112 149
47 女 6 19 118 88
58 女 6 70 139 29
76 女 6 38 21 138
121 女 6 119 45 145
147 女 6 69 71 106
185 女 6 91 84 39
215 女 6 83 106 121
242 女 6 117 9 113
251 女 6 109 49 42
255 女 6 110 136 56
270 女 6 65 94 125
271 女 6 125 139 38
296 女 6 137 115 59
(‘女’, 7)
sex class Python Math En
0 女 7 0 104 82
22 女 7 100 131 113
37 女 7 145 85 116
54 女 7 39 116 106
57 女 7 87 124 25
81 女 7 1 73 130
83 女 7 66 93 54
99 女 7 46 12 81
102 女 7 69 26 86
110 女 7 51 63 28
117 女 7 87 50 91
123 女 7 40 85 115
131 女 7 5 40 144
134 女 7 48 81 140
155 女 7 71 0 20
158 女 7 91 120 24
174 女 7 117 95 6
196 女 7 45 27 141
202 女 7 20 110 37
209 女 7 126 80 9
216 女 7 13 59 17
218 女 7 15 15 23
221 女 7 27 14 85
233 女 7 123 17 49
274 女 7 71 118 20
288 女 7 134 54 5
(‘女’, 8)
sex class Python Math En
34 女 8 119 110 132
52 女 8 26 44 92
66 女 8 147 26 130
68 女 8 55 150 19
82 女 8 79 48 18
92 女 8 39 56 33
119 女 8 146 85 115
149 女 8 53 79 25
163 女 8 130 83 22
182 女 8 94 146 143
230 女 8 27 122 23
244 女 8 11 7 81
247 女 8 51 21 45
250 女 8 133 76 69
259 女 8 37 73 108
298 女 8 64 80 0
(‘男’, 1)
sex class Python Math En
33 男 1 107 80 17
62 男 1 70 33 35
78 男 1 95 54 82
94 男 1 65 32 119
125 男 1 138 100 112
128 男 1 2 56 102
137 男 1 27 84 117
143 男 1 61 74 150
148 男 1 74 28 129
167 男 1 47 47 132
210 男 1 70 75 88
212 男 1 124 96 130
226 男 1 1 64 64
249 男 1 77 150 128
267 男 1 39 97 140
279 男 1 136 143 3
281 男 1 82 69 55
299 男 1 62 142 48
(‘男’, 2)
sex class Python Math En
4 男 2 54 86 60
41 男 2 96 145 110
42 男 2 93 51 89
109 男 2 138 96 3
142 男 2 11 105 109
172 男 2 21 124 6
195 男 2 125 50 142
231 男 2 65 47 85
234 男 2 130 8 65
235 男 2 113 120 19
240 男 2 124 5 101
241 男 2 134 47 18
246 男 2 49 37 49
265 男 2 86 30 43
269 男 2 141 7 131
272 男 2 101 121 84
273 男 2 117 64 97
293 男 2 34 92 150
(‘男’, 3)
sex class Python Math En
8 男 3 90 99 83
32 男 3 127 115 98
60 男 3 102 80 147
97 男 3 131 69 44
98 男 3 123 108 4
100 男 3 146 89 12
101 男 3 27 33 94
144 男 3 139 126 130
153 男 3 140 37 40
178 男 3 103 72 103
186 男 3 141 34 142
201 男 3 125 8 142
211 男 3 101 137 5
222 男 3 106 54 17
245 男 3 136 84 8
256 男 3 79 60 53
264 男 3 113 128 22
(‘男’, 4)
sex class Python Math En
2 男 4 138 126 88
11 男 4 150 35 75
21 男 4 24 50 69
75 男 4 98 85 10
87 男 4 140 8 104
90 男 4 21 15 65
112 男 4 98 16 140
140 男 4 48 55 103
193 男 4 91 104 13
197 男 4 24 121 44
200 男 4 62 123 1
223 男 4 133 109 12
227 男 4 65 19 13
254 男 4 69 100 141
261 男 4 53 114 11
262 男 4 81 57 6
268 男 4 36 13 59
284 男 4 112 81 21
290 男 4 49 102 103
295 男 4 105 27 130
(‘男’, 5)
sex class Python Math En
7 男 5 135 141 5
26 男 5 8 27 88
35 男 5 125 114 17
40 男 5 75 5 87
59 男 5 124 144 72
63 男 5 51 100 73
107 男 5 10 22 45
120 男 5 103 70 32
151 男 5 44 99 58
152 男 5 120 73 58
165 男 5 14 59 39
179 男 5 73 79 103
187 男 5 117 85 106
217 男 5 63 52 76
228 男 5 40 5 76
263 男 5 71 60 69
289 男 5 118 127 40
292 男 5 135 1 31
297 男 5 131 124 28
(‘男’, 6)
sex class Python Math En
31 男 6 59 55 99
79 男 6 68 136 132
133 男 6 94 25 139
173 男 6 138 148 5
180 男 6 28 79 78
183 男 6 133 27 52
205 男 6 63 52 77
220 男 6 62 122 35
(‘男’, 7)
sex class Python Math En
10 男 7 5 139 105
15 男 7 89 90 102
19 男 7 83 36 80
36 男 7 106 33 142
46 男 7 27 55 103
56 男 7 53 141 147
77 男 7 80 130 78
85 男 7 105 71 53
91 男 7 92 66 116
104 男 7 29 68 52
113 男 7 83 28 138
122 男 7 84 61 56
138 男 7 136 50 56
145 男 7 45 40 38
181 男 7 51 71 80
194 男 7 31 65 149
229 男 7 51 103 114
(‘男’, 8)
sex class Python Math En
64 男 8 104 10 3
111 男 8 122 128 112
114 男 8 32 6 32
136 男 8 13 16 9
146 男 8 43 138 112
156 男 8 85 11 133
161 男 8 68 146 54
169 男 8 138 76 0
170 男 8 28 96 71
189 男 8 78 112 16
206 男 8 133 36 70
214 男 8 36 115 62
225 男 8 80 30 98
232 男 8 63 89 97
260 男 8 124 110 15



for name,group in df[[‘Python’,‘Math’]].groupby(df[‘sex’]):
print(name,group)



女 Python Math
0 0 104
1 30 106
3 26 98
5 89 6
6 142 115
… … …
288 134 54
291 33 0
294 34 138
296 137 115
298 64 80

[168 rows x 2 columns]
男 Python Math
2 138 126
4 54 86
7 135 141
8 90 99
10 5 139
… … …
292 135 1
293 34 92
295 105 27
297 131 124
299 62 142

[132 rows x 2 columns]



for name,group in df[[‘Python’,‘Math’]].groupby([df[‘sex’],df[‘class’]]):
print(name,group)



(‘女’, 1) Python Math
3 26 98
16 144 79
27 18 98
48 111 140
55 59 43
61 109 132
74 71 62
93 80 131
157 96 11
168 76 23
188 80 16
203 48 137
207 11 78
236 2 119
275 56 109
278 93 22
287 115 115
(‘女’, 2) Python Math
14 129 142
20 20 64
50 135 77
53 129 50
70 58 145
73 142 48
103 129 39
124 118 112
126 10 72
135 112 137
139 74 22
159 95 79
171 94 43
175 110 1
184 68 20
204 117 121
257 18 127
277 35 90
282 0 132
285 132 11
286 103 21
(‘女’, 3) Python Math
6 142 115
18 54 70
51 4 20
65 63 48
71 137 150
88 3 114
106 17 108
116 46 70
127 104 92
130 27 138
166 48 81
208 146 39
219 142 91
237 112 105
239 74 129
243 147 52
248 61 124
266 92 110
276 51 75
280 25 103
283 0 37
294 34 138
(‘女’, 4) Python Math
1 30 106
5 89 6
24 140 95
28 47 66
39 48 7
45 91 60
49 130 34
69 131 92
72 34 86
84 78 51
89 114 61
95 67 35
96 118 91
105 6 2
118 138 19
129 94 76
141 8 48
191 77 14
192 113 18
198 106 18
199 16 27
252 51 53
258 79 12
291 33 0
(‘女’, 5) Python Math
9 65 100
12 143 134
17 128 108
25 100 59
29 10 44
67 61 15
80 79 74
86 95 69
108 9 108
115 64 124
132 122 46
150 84 77
154 110 4
160 127 55
162 37 77
164 137 125
176 62 57
177 33 123
190 146 123
213 52 23
224 93 52
238 26 15
253 1 37
(‘女’, 6) Python Math
13 97 92
23 44 22
30 13 133
38 37 73
43 109 111
44 126 112
47 19 118
58 70 139
76 38 21
121 119 45
147 69 71
185 91 84
215 83 106
242 117 9
251 109 49
255 110 136
270 65 94
271 125 139
296 137 115
(‘女’, 7) Python Math
0 0 104
22 100 131
37 145 85
54 39 116
57 87 124
81 1 73
83 66 93
99 46 12
102 69 26
110 51 63
117 87 50
123 40 85
131 5 40
134 48 81
155 71 0
158 91 120
174 117 95
196 45 27
202 20 110
209 126 80
216 13 59
218 15 15
221 27 14
233 123 17
274 71 118
288 134 54
(‘女’, 8) Python Math
34 119 110
52 26 44
66 147 26
68 55 150
82 79 48
92 39 56
119 146 85
149 53 79
163 130 83
182 94 146
230 27 122
244 11 7
247 51 21
250 133 76
259 37 73
298 64 80
(‘男’, 1) Python Math
33 107 80
62 70 33
78 95 54
94 65 32
125 138 100
128 2 56
137 27 84
143 61 74
148 74 28
167 47 47
210 70 75
212 124 96
226 1 64
249 77 150
267 39 97
279 136 143
281 82 69
299 62 142
(‘男’, 2) Python Math
4 54 86
41 96 145
42 93 51
109 138 96
142 11 105
172 21 124
195 125 50
231 65 47
234 130 8
235 113 120
240 124 5
241 134 47
246 49 37
265 86 30
269 141 7
272 101 121
273 117 64
293 34 92
(‘男’, 3) Python Math
8 90 99
32 127 115
60 102 80
97 131 69
98 123 108
100 146 89
101 27 33
144 139 126
153 140 37
178 103 72
186 141 34
201 125 8
211 101 137
222 106 54
245 136 84
256 79 60
264 113 128
(‘男’, 4) Python Math
2 138 126
11 150 35
21 24 50
75 98 85
87 140 8
90 21 15
112 98 16
140 48 55
193 91 104
197 24 121
200 62 123
223 133 109
227 65 19
254 69 100
261 53 114
262 81 57
268 36 13
284 112 81
290 49 102
295 105 27
(‘男’, 5) Python Math
7 135 141
26 8 27
35 125 114
40 75 5
59 124 144
63 51 100
107 10 22
120 103 70
151 44 99
152 120 73
165 14 59
179 73 79
187 117 85
217 63 52
228 40 5
263 71 60
289 118 127
292 135 1
297 131 124
(‘男’, 6) Python Math
31 59 55
79 68 136
133 94 25
173 138 148
180 28 79
183 133 27
205 63 52
220 62 122
(‘男’, 7) Python Math
10 5 139
15 89 90
19 83 36
36 106 33
46 27 55
56 53 141
77 80 130
85 105 71
91 92 66
104 29 68
113 83 28
122 84 61
138 136 50
145 45 40
181 51 71
194 31 65
229 51 103
(‘男’, 8) Python Math
64 104 10
111 122 128
114 32 6
136 13 16
146 43 138
156 85 11
161 68 146
169 138 76
170 28 96
189 78 112
206 133 36
214 36 115
225 80 30
232 63 89
260 124 110



for name,group in df.groupby(df.dtypes,axis = 1): #根据数据类型进行分组
print(name,group)



int64 class Python Math En
0 7 0 104 82
1 4 30 106 54
2 4 138 126 88
3 1 26 98 57
4 2 54 86 60
… … … … …
295 4 105 27 130
296 6 137 115 59
297 5 131 124 28
298 8 64 80 0
299 1 62 142 48

[300 rows x 4 columns]
object sex
0 女
1 女
2 男
3 女
4 男
… …
295 男
296 女
297 男
298 女
299 男

[300 rows x 1 columns]



m = {‘sex’:‘category’,‘class’:‘category’,‘Python’:‘科目’,‘Math’:‘科目’,‘En’:‘科目’}
for name,group in df.groupby(by = m,axis = 1):
print(name,group)



category sex class
0 女 7
1 女 4
2 男 4
3 女 1
4 男 2
… … …
295 男 4
296 女 6
297 男 5
298 女 8
299 男 1

[300 rows x 2 columns]
科目 Python Math En
0 0 104 82
1 30 106 54
2 138 126 88
3 26 98 57
4 54 86 60
… … … …
295 105 27 130
296 137 115 59
297 131 124 28
298 64 80 0
299 62 142 48

[300 rows x 3 columns]


#### 12.2 分组聚合



.dataframe tbody tr th {
vertical-align: top;
}

.dataframe thead tr th {
text-align: left;
}

.dataframe thead tr:last-of-type th {
text-align: right;
}




|  |  | En | Math | Python |
| --- | --- | --- | --- | --- |
|  |  | 方差 | 标准差 | 计数 |
| — | — | — | — | — |
| sex | class |  |  |  |
| — | — | — | — | — |
| 女 | 1 | 2454.2 | 49.5 | 17.0 |
| 2 | 2057.1 | 45.4 | 21.0 | 145 |
| 3 | 1873.6 | 43.3 | 22.0 | 150 |
| 4 | 1643.5 | 40.5 | 24.0 | 106 |
| 5 | 1704.1 | 41.3 | 23.0 | 134 |
| 6 | 1673.1 | 40.9 | 19.0 | 139 |
| 7 | 2281.4 | 47.8 | 26.0 | 131 |
| 8 | 2354.7 | 48.5 | 16.0 | 150 |
| 男 | 1 | 2013.5 | 44.9 | 18.0 |
| 2 | 2089.2 | 45.7 | 18.0 | 145 |
| 3 | 2822.3 | 53.1 | 17.0 | 137 |
| 4 | 2337.1 | 48.3 | 20.0 | 126 |
| 5 | 828.3 | 28.8 | 19.0 | 144 |
| 6 | 2132.4 | 46.2 | 8.0 | 148 |
| 7 | 1333.4 | 36.5 | 17.0 | 141 |
| 8 | 1999.2 | 44.7 | 15.0 | 146 |



df.groupby(by = [‘sex’,‘class’]).agg({‘Python’:[(‘平均值’,np.mean)],
‘Math’:[(‘最小值’,np.min),(‘最大值’,np.max)],
‘En’:[(‘标准差’,np.std),(‘方差’,np.var),(‘计数’,np.size)]}).round(1)




|  |  | Python | Math | En |
| --- | --- | --- | --- | --- |
|  |  | 平均值 | 最小值 | 最大值 |
| — | — | — | — | — |
| sex | class |  |  |  |
| — | — | — | — | — |
| 女 | 1 | 70.3 | 11 | 140 |
| 2 | 87.0 | 1 | 145 | 45.4 |
| 3 | 69.5 | 20 | 150 | 43.3 |
| 4 | 76.6 | 0 | 106 | 40.5 |
| 5 | 77.6 | 4 | 134 | 41.3 |
| 6 | 83.1 | 9 | 139 | 40.9 |
| 7 | 63.0 | 0 | 131 | 47.8 |
| 8 | 75.7 | 7 | 150 | 48.5 |
| 男 | 1 | 70.9 | 28 | 150 |
| 2 | 90.7 | 5 | 145 | 45.7 |
| 3 | 113.5 | 8 | 137 | 53.1 |
| 4 | 79.8 | 8 | 126 | 48.3 |
| 5 | 81.9 | 1 | 144 | 28.8 |
| 6 | 80.6 | 25 | 148 | 46.2 |
| 7 | 67.6 | 28 | 141 | 36.5 |
| 8 | 76.5 | 6 | 146 | 44.7 |


### 第十三部分:时间序列


#### 13.1 时间戳操作



pd.Timestamp(‘2020.09.15 20’) # 时刻数据,具体点



Timestamp(‘2020-09-15 20:00:00’)



pd.Period(‘2020.09.15’,freq=‘M’) # 时期数据,表示一段时间,频率



Period(‘2020-09’, ‘M’)



index = pd.date_range(‘2020.09.15’,freq=‘D’,periods=10)
index



**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

**深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

**因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**
![img](https://img-blog.csdnimg.cn/img_convert/d91c6ca2bcd913a87e930e31b106cf15.png)
![img](https://img-blog.csdnimg.cn/img_convert/199f2a862b7f24fd18f88def467bd5ab.png)
![](https://img-blog.csdnimg.cn/img_convert/46506ae54be168b93cf63939786134ca.png)
![](https://img-blog.csdnimg.cn/img_convert/252731a671c1fb70aad5355a2c5eeff0.png)
![](https://img-blog.csdnimg.cn/img_convert/6c361282296f86381401c05e862fe4e9.png) 
![](https://img-blog.csdnimg.cn/img_convert/9f49b566129f47b8a67243c1008edf79.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Python开发知识点,真正体系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注Python)**
![img](https://img-blog.csdnimg.cn/img_convert/3b4eaaa925f761a9ea0ce0b7a49e1d93.png)

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!



### 一、Python所有方向的学习路线



Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。



![](https://img-blog.csdnimg.cn/img_convert/9f49b566129f47b8a67243c1008edf79.png)



### 二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。



![](https://img-blog.csdnimg.cn/img_convert/8c4513c1a906b72cbf93031e6781512b.png)



### 三、全套PDF电子书



书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

![](https://img-blog.csdnimg.cn/img_convert/46506ae54be168b93cf63939786134ca.png)



### 四、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。



![](https://img-blog.csdnimg.cn/afc935d834c5452090670f48eda180e0.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA56iL5bqP5aqb56eD56eD,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)



### 五、实战案例



光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。



![](https://img-blog.csdnimg.cn/img_convert/252731a671c1fb70aad5355a2c5eeff0.png)



### 六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。



![](https://img-blog.csdnimg.cn/img_convert/6c361282296f86381401c05e862fe4e9.png)  

![](https://img-blog.csdnimg.cn/img_convert/d2d978bb523c810abca3abe69e09bc1a.png)




**一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
![img](https://img-blog.csdnimg.cn/img_convert/3b4eaaa925f761a9ea0ce0b7a49e1d93.png)

ert/252731a671c1fb70aad5355a2c5eeff0.png)
![](https://img-blog.csdnimg.cn/img_convert/6c361282296f86381401c05e862fe4e9.png) 
![](https://img-blog.csdnimg.cn/img_convert/9f49b566129f47b8a67243c1008edf79.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Python开发知识点,真正体系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注Python)**
[外链图片转存中...(img-4NfWm9ou-1712949576774)]

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!



### 一、Python所有方向的学习路线



Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。



![](https://img-blog.csdnimg.cn/img_convert/9f49b566129f47b8a67243c1008edf79.png)



### 二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。



![](https://img-blog.csdnimg.cn/img_convert/8c4513c1a906b72cbf93031e6781512b.png)



### 三、全套PDF电子书



书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

![](https://img-blog.csdnimg.cn/img_convert/46506ae54be168b93cf63939786134ca.png)



### 四、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。



![](https://img-blog.csdnimg.cn/afc935d834c5452090670f48eda180e0.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA56iL5bqP5aqb56eD56eD,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)



### 五、实战案例



光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。



![](https://img-blog.csdnimg.cn/img_convert/252731a671c1fb70aad5355a2c5eeff0.png)



### 六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。



![](https://img-blog.csdnimg.cn/img_convert/6c361282296f86381401c05e862fe4e9.png)  

![](https://img-blog.csdnimg.cn/img_convert/d2d978bb523c810abca3abe69e09bc1a.png)




**一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
[外链图片转存中...(img-QaRg7YsI-1712949576774)]

  • 15
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值