【发布时间】:2021-01-13 04:20:23
【问题描述】:
假设我有一个具有这种结构的数据框:
T1P1_T0 Count T1P1_T1 Count.1 T1P1_T3 Count.2
0 one 1207.0 four 1936 one 644.0
1 two 816.0 two 1601 seven 414.0
2 three 712.0 five 1457 NaN NaN
3 NaN NaN six 4564 NaN NaN
我想要的输出是这样的:
Element T1P1_T0 T1P1_T1 T1P1_T3
0 one 1207 NaN 644.0
1 two 816 1601.0 NaN
2 three 712 NaN NaN
3 four NaN 1936.0 NaN
4 five 1456.0 NaN
5 six NaN 4564.0 NaN
6 seven NaN NaN 414.0
我尝试过的是将初始数据帧分成三个:
df1 = df.iloc[:,:2]
df2 = df.iloc[:,2:4]
df3 = df.iloc[:,4:]
并尝试合并前两个,然后是第三个,使用 pd.merge 的不同方法:
例如:
result = pd.merge(df1, df2, right_on=df.iloc[:,0], left_on=df.iloc[:,0])
但结果不是我想要的:
key_0 T1P1_T0 Count T1P1_T1 Count.1
0 one one 1207.0 four 1936
1 two two 816.0 two 1601
2 three three 712.0 five 1457
3 NaN NaN NaN six 4564
不知道如何指定元素名称的列作为合并操作的键值。
对此有何建议?
谢谢
【问题讨论】: