我有两个 DataFrame 。 。 。
df1
是一个表,我需要使用从 df2 中的多个列检索的索引、列对来提取值。
我看到有一个函数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
-- 建立索引时df1
基于索引,列对来自animal
, letter
中指定的列df2
有效地矢量化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