Búsqueda vectorizada en un marco de datos de pandas
Tengo dos marcos de datos. . .
df1
es una tabla que necesito extraer valores del índice, pares de columnas recuperados de varias columnas en df2.
Veo que hay una funciónget_value
que funciona perfectamente cuando se le da un valor de índice y columna, pero cuando trato de vectorizar esta función para crear una nueva columna, estoy fallando ...
df1 = pd.DataFrame(np.arange(20).reshape((4, 5)))
df1.columns = list('abcde')
df1.index = ['cat', 'dog', 'fish', 'bird']
a b c d e
cat 0 1 2 3 4
dog 5 6 7 8 9
fish 10 11 12 13 14
bird 15 16 17 18 19
df1.get_value('bird, 'c')
17
Ahora lo que tengo que hacer es crear una columna completamente nueva endf2
- al indexardf1
basado en el índice, pares de columnas delanimal
, letter
columnas especificadas endf2
vectorizando efectivamente elpd.get_value
función anterior.
df2 = pd.DataFrame(np.arange(20).reshape((4, 5)))
df2['animal'] = ['cat', 'dog', 'fish', 'bird']
df2['letter'] = list('abcd')
0 1 2 3 4 animal letter
0 0 1 2 3 4 cat a
1 5 6 7 8 9 dog b
2 10 11 12 13 14 fish c
3 15 16 17 18 19 bird d
Resultando en . . .
0 1 2 3 4 animal letter looked_up
0 0 1 2 3 4 cat a 0
1 5 6 7 8 9 dog b 6
2 10 11 12 13 14 fish c 12
3 15 16 17 18 19 bird d 18