Как индексировать панды DataFrame с помощью списка индексов? - PullRequest
0 голосов
/ 27 августа 2018

У меня есть датафрейм, как показано ниже.

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, какой самый быстрый способ?

Ответы [ 2 ]

0 голосов
/ 27 августа 2018

Предполагая, что длина подсписков всегда равна длине столбцов

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

[[5, 7, 3], [4, 2, 5]]
0 голосов
/ 27 августа 2018

Я думаю, что цикл должен быть достаточно быстрым

[[df.loc[z,y] for z,y in zip(x,df.columns)] for x in l ]
Out[981]: [[5, 7, 3], [4, 2, 5]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...