将基于组值的值与列值进行匹配,并将其合并为两列

时间:2018-11-07 07:11:14

标签: python pandas

df

index    group1    group2     a      b     c      d  
-
0        a         b          1      2     NaN    NaN
1        b         c          NaN    5     1      NaN
2        c         d          NaN    NaN   6      9
4        b         a          1      7     NaN    NaN
5        d         a          6      NaN   NaN    5

df期望

index    group1    group2     one    two 
-
0        a         b          1      2    
1        b         c          5      1
2        c         d          6      9
4        b         a          7      1
5        d         a          5      6   

我想基于列['group1','group2']匹配值,并按顺序追加到列['one','two']。例如,行索引5:group1为'd',因此它将首先从'd'中获取值5,然后再进行group2。

我正在尝试使用查找功能:df.one = df.lookup(df.index, df.group1),它适用于小型数据,但不适用于具有大量列的大型数据,并且值会混淆。

0 个答案:

没有答案