Ich habe eine Liste von Strings, die ich mit eine Suche durchzuführen müssen auf eine bestimmte Spalte in einem Datenrahmen:Spiel Unbekannt Anzahl der String-Elemente in Pandas Spalte
search_strings = ['foo bar', 'bar such foo', 'very wow foo']
Ich versuche Zeilen in der abrufen Datenrahmen, der den Wörtern in jeder Reihenfolge in jeder Zeichenfolge in der Liste entspricht. Der Datenrahmen könnte so aussehen:
ID string_col
1 foo bar
2 bar foo
3 foo very bar
4 bar such foo
5 foo wow very
Ich war froh zu finden, dass ich ein '|' Betreiber mit str.contains (ruft alle 5 Zeilen):
df[df['string_col'].str.contains('foo|bar')]
Ich dachte, ich meine Liste, Split konnte Schleife durch und verbinden sie mit einem ‚&‘ zu tun etwas ähnliches (ich glaubte fälschlicherweise diese 4 Zeilen abrufen würde):
df[df['string_col'].str.contains('foo&bar')]
Allerdings stellt sich heraus, dass dies nicht etwas ist, was Sie tun können. Irgendeine Idee, wie ich übereinstimmende Spalten basierend auf einer Liste von Zeichenfolgen mit jeweils einer unbekannten Anzahl von Wörtern leicht abrufen kann?
Danke!
wollen Sie mögen, um zu sehen, ob es ein Performance-Gewinn mit Ihren Daten ist mit 'all (Wort in Satz (Werte) für ...' – Alexander