Python 如何使用索引列表索引数据帧?

Python 如何使用索引列表索引数据帧?,python,pandas,dataframe,indexing,Python,Pandas,Dataframe,Indexing,我有一个如下所示的数据帧 df a b c w 5 3 3 x 4 7 6 y 6 2 5 z 2 6 2 我有一个如下的清单 a [['w', 'x', 'w'], ['x', 'y', 'y']] 我怎样才能得到这样的结果 [[5,7,3], [4,2,5]] 如果唯一的方法是使用for循环,那么哪种方法最快?我认为for循环应该足够快 [[df.loc[z,y] for z,y in zip(x,df.columns)] for x in l ]

我有一个如下所示的数据帧

df
   a  b  c
w  5  3  3
x  4  7  6
y  6  2  5
z  2  6  2
我有一个如下的清单

a
[['w', 'x', 'w'], 
['x', 'y', 'y']]
我怎样才能得到这样的结果

[[5,7,3],
[4,2,5]]

如果唯一的方法是使用for循环,那么哪种方法最快?

我认为for循环应该足够快

[[df.loc[z,y] for z,y in zip(x,df.columns)] for x in l ]
Out[981]: [[5, 7, 3], [4, 2, 5]]

我认为for循环应该足够快

[[df.loc[z,y] for z,y in zip(x,df.columns)] for x in l ]
Out[981]: [[5, 7, 3], [4, 2, 5]]

假设子列表的长度始终与列的长度相同

[[*df.lookup(i, df.columns)] for i in a]

[[5, 7, 3], [4, 2, 5]]

假设子列表的长度始终与列的长度相同

[[*df.lookup(i, df.columns)] for i in a]

[[5, 7, 3], [4, 2, 5]]

df.at
取而代之。非常感谢您。我用的是df.at版本。
df.at
。非常感谢。我用的是df.at版本。非常感谢。df.at肯定比df.loc快很多。df.at绝对比df.loc快