我试图将具有不同参数的多个列转换为两列。我已尝试在Stackoverflow上的不同帖子中提到不同的方法,但结果总是给我重复的值,因此重复计算。任何帮助将非常感激。
这是原始数据:
这是我想要最终原始数据的格式:
谢谢!
答案 0 :(得分:3)
pd.wide_to_long(df,
['Geo','Target Geo'],
['Name','ID','user_name','platform','ID2','Placement Name','ID3'],
j='Codes',
sep=' ',
suffix='.')\
.reset_index()\
.drop('Codes',axis=1)
输出:
Name ID user_name platform ID2 Placement Name ID3 Global Target Global Geo Target Geo
0 ABC 123 sky blah 456 RV 56789 US 9.0
1 ABC 123 sky blah 456 RV 56789 UK 10.0
2 ABC 123 sky blah 456 RV 56789 CN 9.0
3 ABC 123 sky blah 456 FS 98765 US 8.5
4 ABC 123 sky blah 456 FS 98765 UK 4.0
5 ABC 123 sky blah 456 FS 98765 DE 3.6