【发布时间】:2019-07-02 04:15:06
【问题描述】:
我有一个大数据集,它的头部如下所示:
Time Company 1 Company 2 ... Company 12 Company 13 Company 14
0 1/01/2015 49 19 ... 80 56 61
1 2/01/2015 2 92 ... 28 98 72
2 3/01/2015 39 69 ... 93 10 66
3 4/01/2015 31 54 ... 78 9 84
4 5/01/2015 37 81 ... 59 32 99
5 6/01/2015 83 69 ... 67 12 69
6 7/01/2015 38 7 ... 37 50 22
7 8/01/2015 75 90 ... 29 99 90
8 9/01/2015 2 7 ... 4 84 59
9 10/01/2015 14 66 ... 40 51 78
10 11/01/2015 20 87 ... 7 26 52
11 12/01/2015 33 84 ... 80 81 69
12 13/01/2015 93 90 ... 4 55 65
13 14/01/2015 95 47 ... 16 43 75
14 15/01/2015 71 66 ... 53 36 0
15 16/01/2015 98 26 ... 41 48 31
16 17/01/2015 29 29 ... 3 13 9
17 18/01/2015 46 96 ... 99 52 71
18 19/01/2015 27 91 ... 50 65 21
19 20/01/2015 45 64 ... 24 97 87
[20 rows x 15 columns]
这是在一个 csv 文件中,然后我有一个单独的 csv 文件,其中说明 company 在哪个 class 中,如下所示:
Company1 B
0 Company2 B
1 Company3 C
2 Company4 A
3 Company5 A
4 Company6 A
5 Company7 C
6 Company8 B
7 Company9 A
8 Company10 A
9 Company11 B
10 Company12 C
11 Company13 A
12 Company14 C
我想删除 company1,...,company14 列,而只保留 A,B,C 列。我知道如何使用简单的VLOOKUP 函数在 excel 中执行此操作,但是我的数据集非常大,因此在 excel 中使用VLOOKUP 是不可行的。
有什么方法可以使用 python 实现我想要的结果?
这是我想要的输出:
Time A B C
0 1/01/2015 283 228 230
1 2/01/2015 303 158 224
2 3/01/2015 243 163 277
3 4/01/2015 306 259 250
4 5/01/2015 257 232 242
5 6/01/2015 258 160 288
6 7/01/2015 406 136 170
7 8/01/2015 407 180 239
8 9/01/2015 283 98 127
9 10/01/2015 321 144 248
10 11/01/2015 344 296 212
11 12/01/2015 372 175 243
12 13/01/2015 133 249 181
13 14/01/2015 251 245 214
14 15/01/2015 227 263 226
15 16/01/2015 344 154 180
16 17/01/2015 361 146 124
17 18/01/2015 337 290 245
18 19/01/2015 252 247 212
19 20/01/2015 315 169 219
编辑1:
Company1 B
0 Company2 B
1 Company3 C
2 Company4 A
3 Company5 A
4 Company6 A
5 Company7 C
6 Company8 B
7 Company9 A
8 Company10 A
9 Company11 B
10 Company12 C
11 Company13 A
12 Company14 C
13 Company15 B
14 Company16 B
15 Company17 C
16 Company18 A
17 Company19 A
18 Company20 A
19 Company21 C
20 Company22 B
21 Company23 A
22 Company24 A
23 Company25 B
24 Company26 C
25 Company27 A
26 Company28 C
27 Company29 B
28 Company30 B
29 Company31 C
.. ... ..
301 Company303 A
302 Company304 A
303 Company305 B
304 Company306 C
305 Company307 A
306 Company308 C
307 Company309 B
308 Company310 B
309 Company311 C
310 Company312 A
311 Company313 A
312 Company314 A
313 Company315 C
314 Company316 B
315 Company317 A
316 Company318 A
317 Company319 B
318 Company320 C
319 Company321 A
320 Company322 C
321 Company323 B
322 Company324 B
323 Company325 C
324 Company326 A
325 Company327 A
326 Company328 A
327 Company329 C
328 Company330 B
329 Company331 A
330 Company332 A
[331 rows x 2 columns]
【问题讨论】:
-
抱歉,您在第一行的结果数据框中,
283 228 230代表的数字是什么? -
它们分别是
A,B,C中所有数据的总和。例如。230 = company 3 + company 7 + company 12 -
我想我明白了。请检查我是否在我给出的答案中正确理解了工作流程。
-
好的,我去看看
标签: python pandas numpy merge melt