Nach einer Weile Suche kann ich keine Antwort auf was ein häufiges Problem sein, so dass Zeiger begrüßen.Wählen Sie Teile von Pandas Dataframe basierend auf Werten in einer Liste in einer Spalte
Ich habe einen Datenrahmen:
df = DataFrame({'A' : [5,6,3,4], 'B' : [1,2,3,5], 'C' : [['a','b'],['b','c'] ,['g','h'],['x','y']]})
und ich möchte eine Teilmenge davon (einige Zeilen) auszuwählen, die Werte in den Listen in der ‚C‘ Spalte haben, die in einer Liste angezeigt Dinge, an denen ich interessiert bin
listOfInterestingThings = [a, g]
so, wenn die Filter angewandt wird ich eine df1 hätte:
df1 =
A B C
5 1 ['a','b']
3 3 ['g','h']
Der Datenrahmen Ich bin der Umgang mit ist ein massiver Import von Rohdaten in dem RAM ~ 12GB in der aktuellen df Form. Etwa die Hälfte davon auf der Festplatte als eine Reihe von JSON-Dateien.
Standardwarnung: Nicht skalare Elemente (z. B. Listen) in Serien und Datenrahmen haben keine gute Unterstützung und führen wahrscheinlich zu mysteriösem und unerwartetem Verhalten. Voreingenommener Benutzer! – DSM
@DSM interessant. hatte keine Ahnung. Hast du Vorschläge? Was ich tue, ist die grundlegende Manipulation eines großen Textkorpus, bevor ich einige ML ausprobiere, um über Themen zu trainieren. Die Daten ~ 6 GB von JSON-Dateien. Jedes Dokument wird durch ein json-Element mit Tags für "body" und "topics" dargestellt, die Themen werden als Liste dargestellt, z. ['topic1', 'topic2'] Ich lade Daten in ein df mit pd.DataFrame.from_dict. Haben Sie einen Vorschlag für eine bessere Möglichkeit, große Datensätze mit dieser Struktur zu manipulieren? –