我想将一个数据帧的几组列合并成多个目标列。与问题类似,Python将初始列组分解为多个目标列,并将多个值变量的数据帧重塑/堆叠为单独的列。但是,我需要通过列名而不是索引位置显式地执行此操作
将熊猫作为pd导入
df=pd.DataFrame([('a','b','c',1,2,3,'aa','bb','cc'),('d','e','f',4,5,6,'dd','ee','ff'),
列=['a_1'、'a_2'、'a_3'、'b_1'、'b_2'、'b_3'、'c_1'、'c_2'、'c_3'])
df
原始数据帧:
id a_1 a_2 a_3 b_1 b_2 b_3 c_1 c_2 c_3
0 101 a b c 1 2 3 aa bb cc
1 102 d e f 4 5 6 dd ee ff
目标数据帧
id a b c
0 101 a 1 aa
101B2BB
2 101立方厘米3立方厘米
3 102 d 4日
4102 e 5 ee
5楼102层6楼
对于如何解决这一问题,我们非常感谢您的建议
有一种更有效的方法来解决这类涉及熔化多组不同色谱柱的问题pd。从宽到长是针对这些具体情况而构建的
pd.wide到长(df,stubnames=['a','b','c',i='id',j='dropme',sep='''\
.reset_index()\
.drop('dropme',轴=1)\
.sort_值('id'))
身份证
0 101 a 1 aa
2 101 b 2 bb
4 101立方厘米3立方厘米
1102d4日
3 102 e 5 ee
5楼102层6楼