Ich habe folgenden Datenrahmen:Reihen mit unterschiedlichen aufeinanderfolgenden Werten in Datenrahmen mit Pandas
import pandas as pd
df = pd.DataFrame({"A":['a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l'], "M":[11,4,9,2,2,5,5,6,6]})
Mein Ziel ist es, alle Zeilen zu entfernen, mit 2 aufeinanderfolgenden Werten von Spalte M
nicht gleich zueinander ist.
Daher sollten Zeile 0, 1 und 2 entfernt werden, da die Werte von M sind: 11! = 4, 4! = 9 und 9! = 2). Wenn jedoch 2 Zeilen den gleichen fortlaufenden Wert haben, muss der Wert beibehalten werden: Zeile 3 und 4 müssen beibehalten werden, da beide Wert 2 haben. Gleiche Argumentation für Zeile 5 und 6 mit Wert 5.
Ich konnte meine Ziel durch Verwendung der folgenden Codezeilen:
Können Sie einen intelligenteren und besseren Weg vorschlagen, um mein Ziel zu erreichen? vielleicht mit einigen eingebauten Pandas-Funktion? Hier
ist, was der Datenrahmen aussehen soll:
Before:
A M
0 a 11 <----Must be removed
1 s 4 <----Must be removed
2 d 9 <----Must be removed
3 f 2
4 g 2
5 h 5
6 j 5
7 k 6
8 l 6
After
A M
0 f 2
1 g 2
2 h 5
3 j 5
4 k 6
5 l 6
was ist. 'Df.loc [df.M.diff() eq (0) | df.M.diff (-1) .eq (0)] '? – MaxU
@MaxU Schöne Lösung, fügen Sie als Antwort Kerl ~ :) – Wen
wäre es ähnlich wie Ihre und jezraels ... Bitte zögern Sie nicht, es zu Ihrer Antwort hinzufügen ;-) – MaxU