我有两个数据框。df1是一个表格,我需要使用从df2中检索的索引、列对来提取值。我发现有一个函数get_value,当给定索引和列值时,它可以完美地工作,但是当尝试将此函数向量化以创建新列时,我失败了……
现在我需要做的是在`df2`上创建一个全新的列 - 当从`df2`中指定的`animal`,`letter`列索引`df1`时,有效地向量化上面的`pd.get_value`函数。
导致. . .
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
现在我需要做的是在`df2`上创建一个全新的列 - 当从`df2`中指定的`animal`,`letter`列索引`df1`时,有效地向量化上面的`pd.get_value`函数。
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
导致. . .
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