从熊猫数据框中选择特定的索引、列对

dyl*_*kot 8 python pandas

我有一个数据框 x:

x = pd.DataFrame(np.random.randn(3,3), index=[1,2,3], columns=['A', 'B', 'C'])
x


       A    B   C
1   0.256668    -0.338741   0.733561
2   0.200978    0.145738    -0.409657
3   -0.891879   0.039337    0.400449
Run Code Online (Sandbox Code Playgroud)

我想选择一堆索引列对来填充新系列。例如,我可以选择[(1, 'A'), (1, 'B'), (1, 'A'), (3, 'C')]哪个将生成具有 4 个元素的列表、数组或系列:

[0.256668, -0.338741, 0.256668, 0.400449]
Run Code Online (Sandbox Code Playgroud)

知道我应该怎么做吗?

HYR*_*YRY 9

我认为get_value()并且lookup()更快:

import numpy as np
import pandas as pd
x = pd.DataFrame(np.random.randn(3,3), index=[1,2,3], columns=['A', 'B', 'C'])

locations = [(1, "A"), (1, "B"), (1, "A"), (3, "C")]

print x.get_value(1, "A")

row_labels, col_labels = zip(*locations)
print x.lookup(row_labels, col_labels)
Run Code Online (Sandbox Code Playgroud)