【发布时间】:2016-01-08 13:32:12
【问题描述】:
给定以下数据框:
import pandas as pd
DF = pd.DataFrame({'COL1': ['A', 'A', 'A', 'B','B','B'],
'COL2' : [1,2,3,1,2,3],
'COL3': [11032, 1960, 11400, 11355, 8, 7],
'year': ['2016', '2017', '2018', '2019', '2020', '2021']})
DF
COL1 COL2 COL3 COL4 year
0 A 1 2 11032 2016
1 A 2 2 1960 2017
2 A 3 4 11400 2018
3 B 1 2 11355 2019
4 B 2 2 8 2020
5 B 3 4 7 2021
我只想通过 COL1 取消堆叠“COL4”和“Year”,同时保持 COL2 和 COL3 完好无损。最终结果应如下所示:
COL2 COL3 COL4 (A) year (A) COL4 (B) year (B)
0 1 2 11032 2016 11355 2019
1 2 2 1960 2017 8 2020
2 3 4 11400 2018 7 2021
另外,如果“COL1”下有一些没有“A”的记录怎么办?
我假设解决方案将在取消堆叠时查找与“COL2”和“COL3”匹配的记录(如果这是使用的方法)。 我的意思是,如果列的顺序没有像我的示例中那样排序,它将产生相同的结果。
谢谢!
【问题讨论】: