Hier ist eine Option, die am einfachsten zu erinnern und umarmen noch die Datenrahmen, die die "bleeding heart" von Pandas ist:
1) Erstellen Sie eine neue Spalte im Dataframe wi ten Wert für die Länge:
df['length'] = df.alfa.str.len()
2) Index der neue Spalte:
df = df[df.length < 3]
der Vergleich zu den oben genannten Zeitpunkt Dann, was in diesem Fall nicht wirklich relevant ist, wie die Daten sehr klein und in der Regel weniger wichtig ist als wie wahrscheinlich Sie gehen zu erinnern, wie etwas zu tun und nicht Ihren Workflow zu unterbrechen:
Schritt 1:
%timeit df['length'] = df.alfa.str.len()
359 μs ± 6,83 μs pro Schleife (Mittelwert ± Std. Entwickler von 7 Läufe 1000 jeweils) Schleifen
Schritt 2:
df = df[df.length < 3]
627 & mgr; s ± 76,9 & mgr; s pro Schleife (Mittelwert ± STD dev von 7 verläuft 1000 Schlaufen jeweils)
Guten.. Neu ist, dass die Zeit bei wachsender Größe nicht linear anwächst. Zum Beispiel dauert die Ausführung der gleichen Operation mit 30.000 Datenzeilen etwa 3 ms (also 10.000x Daten, 3-fache Geschwindigkeitserhöhung). Pandas DataFrame ist wie ein Zug, braucht Energie, um es in Gang zu bringen (also nicht großartig für kleine Dinge im absoluten Vergleich, aber objektiv ist es nicht so wichtig ... wie bei kleinen Daten sind die Dinge sowieso schnell).