wie um zu überprüfen, ob ein Wert vorhanden ist, in einen dataframe
Hallo ich versuche den Namen der Spalte ein dataframe enthält ein bestimmtes Wort,
zB:
ich habe einen dataframe,
NA good employee
Not available best employer
not required well manager
not eligible super reportee
my_word=["well"]
wie um zu überprüfen, ob "gut" existiert im df und in der Spalte name in "gut"
vielen Dank im Voraus!
- es gibt nur ein Wort?
- Nein,manchmal mehr als eine
- Und es sollte substring?
- ja, Liste von strings
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden
DataFrame.isin
für überprüfen Sie alle Spalten undDataFrame.any
für den check mindestens eineTrue
pro Zeile:Bekomme und dann Spalten-Namen-Filterung:
Daten:
Detail:
BEARBEITEN Nach der Konvertierung erhalten verschachtelte
list
s, so Abflachung notwendig ist:+
wiemy_word += cols
odermy_word = my_word + cols
for item in cols: my_word+=df[item].values.tolist()
aber es wäre besser, wenn wir pandas Wegdf.isin(my_word).any()
sollte es sich überlegen Spaltennamen auch, so möchte ich Spaltennamen =1,2,3,...0,1,2
aber1,2,3
? Dann nutzen Siedf.columns += 1
df = pd.read_csv(file, header=None)
bekommen. Aber wenn es einige Spalten-Namen, verwenden Siedf = pd.read_csv(file, header=None, skiprows=1)
- es weglassen der ersten header-Zeile.df = pd.read_csv(file, header=None)
funktioniert für mich, aber wenn es beim Lesen "NA" es liest sich, als NaN, wie zu überwindenkeep_default_na=False
df.isin(my_word).any()
mein dataframe ist huuge... Versuchen mitdf.eq(my_word).any()
, aber zu langsam...