mam ramkę pandas podobny do tego:Znalezienie elementy tablicy położenie w kolumnie ramki pandy (aka pd.series)
import pandas as pd
import numpy as np
data = {'Col1' : [4,5,6,7], 'Col2' : [10,20,30,40], 'Col3' : [100,50,-30,-50], 'Col4' : ['AAA', 'BBB', 'AAA', 'CCC']}
df = pd.DataFrame(data=data, index = ['R1','R2','R3','R4'])
Col1 Col2 Col3 Col4
R1 4 10 100 AAA
R2 5 20 50 BBB
R3 6 30 -30 AAA
R4 7 40 -50 CCC
Biorąc pod uwagę macierz celów:
target_array = np.array(['AAA', 'CCC', 'EEE'])
I chciałby znaleźć indeksy elementów komórki w Col4
, które również pojawiają się w target_array
.
Próbowałem znaleźć udokumentowaną odpowiedź, ale wydaje mi się to poza moimi umiejętnościami ... Czy ktoś ma jakieś rady?
P.S. Nawiasem mówiąc, w tym konkretnym przypadku mogę wprowadzić docelową tablicę, której elementami są indeksy ramek danych o nazwach array(['R1', 'R3', 'R5'])
. Czy byłoby łatwiej w ten sposób?
Edit 1:
Dziękuję bardzo za wszystkie wielkie odpowiedzi. Niestety mogę wybrać tylko jeden, ale wszyscy wydają się wskazywać @Divakar jako najlepszy. Nadal należy spojrzeć na piRSquared i MaxU porównań prędkości dla wszystkich możliwości dostępnych
To jest szybsze! – piRSquared
@piRSquared Cóż, miałem taką nadzieję, będąc rzeczą NumPy! ;) – Divakar
Na pewno będę o tym pamiętać. – piRSquared