Wie zu verwenden eine bedingte Anweisung, basierend auf DataFrame boolean-Wert in pandas
Jetzt ich wissen, wie überprüfen Sie das dataframe für bestimmte Werte über mehrere Spalten. Aber ich kann nicht scheinen, um herauszufinden, wie die Durchführung einer if-Anweisung basierend auf einem booleschen Antwort.
Beispiel:
Spaziergang Verzeichnisse mit os.walk
Lesen und in einer bestimmten Datei in einem dataframe.
for root, dirs, files in os.walk(main):
filters = '*specificfile.csv'
for filename in fnmatch.filter(files, filters):
df = pd.read_csv(os.path.join(root, filename),error_bad_lines=False)
Nun prüfen, dataframe über mehrere Spalten. Der erste Wert der name der Spalte (column1), wird der nächste Wert ist der spezifische Wert ich bin auf der Suche nach in der betreffenden Spalte(Banane). Ich bin dann die Prüfung einer anderen Spalte (spalte2) für einen bestimmten Wert (grün). Wenn beide wahr sind, will ich erfüllen eine spezifische Aufgabe. Jedoch wenn es falsch ist ich möchte etwas anderes tun.
so etwas wie:
if (df['column1']=='banana') & (df['colour']=='green'):
do something
else:
do something
Sind Sie wollen, um zu überprüfen, ob alle Zeilen erfüllen Ihre Bedingung für einen df oder Zeilen?
Ich sehe keine Frage in Frage.
Nein, ich nicht wollen, um alle änderungen an den Daten. Es gibt viel Verständnis Stil Aussagen, die auf google basiert auf das ändern der Daten. Aber ich kann nicht scheinen zu finden, jeder mit nur ein normaler
if
. Wir können davon ausgehen, die Aufgabe wird es sein, ein system, basierend Befehl handeln; os.makdirs
zum BeispielEntschuldigung Alex.S ich werde es ändern, um zu versuchen, mich klarer. Ich habe gerade nachgelesen, dass ein paar mal und ich kann sehen, dass die Frage in zwei Formen. 1. In Worten, 'ich kann nicht scheinen, um herauszufinden, wie die Durchführung einer if-Anweisung basierend auf einem booleschen Antwort.' der 2. ist in code-form (der Ausschnitt an der Unterseite der post).
InformationsquelleAutor iNoob | 2015-09-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie möchten überprüfen, ob jede Zeile des DataFrame auf Ihre Bedingungen, die Sie verwenden können,
.jede()
zusammen mit Ihrem Zustand . Beispiel -Beispiel -
Dies ist, weil Ihre Bedingung -
((df['column1']=='banana') & (df['colour']=='green'))
- gibt eine Reihe von True/False-Werte.Dies ist, weil in pandas beim vergleichen einer Serie gegen einen skalaren Wert, es gibt das Ergebnis des Vergleichs wird jede Zeile, die Serie gegen den skalaren Wert und das Ergebnis ist eine Reihe von Wahr/Falsch-Werte zeigt der Vergleich, dass die Zeile mit dem skalaren Wert. Beispiel -
Und die
&
tut row-wiseand
für die beiden Serien. Beispiel -Nun zu prüfen, ob einer der Werte in dieser Reihe ist Wahr, die Sie verwenden können,
.jede()
, um zu überprüfen, ob alle Werte in der Reihe sind Wahr, die Sie verwenden können,.alle()
.Aktualisieren Sie die Antwort mit einer kleinen Erklärung.
danke Anand
InformationsquelleAutor Anand S Kumar