Finden einer Array-Elementposition in einer Pandas-Frame-Spalte (a.k.a pd.series)

Ich habe einen Pandas-Rahmen, der diesem ähnlich ist:

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

Gegeben eine Reihe von Zielen:

target_array = np.array(['AAA', 'CCC', 'EEE'])

Ich möchte die Zellelementindizes in @ findCol4 die auch im @ erscheintarget_array.

Ich habe versucht, eine dokumentierte Antwort zu finden, aber es scheint über meine Fähigkeiten hinauszugehen ... Hat jemand einen Rat?

P.S. Übrigens kann ich für diesen speziellen Fall ein Zielarray eingeben, dessen Elemente die Datenrahmenindizes names @ sinarray(['R1', 'R3', 'R5']). Wäre es so einfacher?

Edit 1:

Vielen Dank für all die tollen Antworten. Leider kann ich nur eine auswählen, aber jeder scheint @Divakar als die beste zu bezeichnen. Trotzdem sollten Sie sich die Geschwindigkeitsvergleiche von piRSquared und MaxU ansehen, um zu erfahren, welche Möglichkeiten es gib

Antworten auf die Frage(10)

Ihre Antwort auf die Frage