Lookup
будет работать здесь. Следующие примеры возвращают integers
и strings
.
import pandas as pd
d = ({
'A' : ['x','y','z','x'],
'B' : ['j','k','l','m'],
'C' : ['n','o','p','q'],
'D' : ['A','C','B','A'],
})
df = pd.DataFrame(d)
df = df.assign(E=df.lookup(df.index, df.D.map('{}'.format)))
print(df)
A B C D E
0 x j n A x
1 y k o C o
2 z l p B l
3 x m q A x
Аналогично для integer
import pandas as pd
d = ({
'A' : [1,2,3,4],
'B' : [4,3,2,1],
'C' : [5,6,7,8],
'D' : ['A','C','B','A'],
})
df = pd.DataFrame(d)
df = df.assign(E=df.lookup(df.index, df.D.map('{}'.format)))
print(df)
A B C D E
0 1 4 5 A 1
1 2 3 6 C 6
2 3 2 7 B 2
3 4 1 8 A 4