从一组基于值的列中选择一个值,然后使用该值创建新列?

Roy*_*Han 4 python dataframe pandas

所以如果我有一个像这样的大熊猫数据框:

   A  B  C  D
0  1  2  3  a 
1  2  4  6  a
2  4  8  8  b
3  2  3  5  c
Run Code Online (Sandbox Code Playgroud)

并想根据“ D”列中的条件从“ A”,“ B”或“ C”列中进行选择来插入“ E”行,我该怎么做?例如:如果D == a,则选择'A',否则选择'B',输出:

   A  B  C  D  E
0  1  2  3  a  1
1  2  4  6  a  2
2  4  8  8  b  8
3  2  3  5  c  3
Run Code Online (Sandbox Code Playgroud)

提前致谢!

WeN*_*Ben 5

这是 lookup

df.lookup(df.index,df.D.str.upper())
Out[749]: array([1, 2, 8, 5], dtype=int64)

df['E']=df.lookup(df.index,df.D.str.upper())
Run Code Online (Sandbox Code Playgroud)