Hier sind meine Daten
Id feature1 feature2 feature3 feature4 feature5 feature6
1 4 5 7 7 4 5
2 5 6 8 8 5 5
Was ich möchte, ist, dass doppelte Daten entfernt werden
Id feature1 feature2 feature3 feature6
1 4 5 7 5
2 5 6 8 5
Besser, wenn auch Duplikate beschrieben werden
feature3 is same with feature4
feature2 is same with feature5
Normalerweise verwende ich Seaboarn Corplot, aber ich werde verwirrend, wenn die Funktionen mehr als 100 wachsen
import seaborn as sns
ax = sns.heatmap(df)
3 Antworten
Sie können T
verwenden, dann groupby
Wert, beachten Sie, dass drop_duplicates
und duplicated
die Paare nicht bereitstellen, was bedeutet, dass sie nur den duplizierten Wert zurückgeben (nicht duplizierte Gruppe).
s=df.T.reset_index().groupby([0,1])['index'].apply(tuple)
s[s.str.len()>=2].apply(lambda x : '{0[0]} is same with {0[1]}'.format(x))
Out[797]:
0 1
4 5 feature1 is same with feature5
7 8 feature3 is same with feature4
Name: index, dtype: object
Sie können {{X0 }} Verwenden Sie zum Transponieren Ihres Datenrahmens drop_duplicates
und übertragen Sie dann Ihren Datenrahmen noch einmal:
In [6]: df.T.drop_duplicates().T
Out[6]:
Id feature1 feature2 feature3 feature6
0 1 4 5 7 5
1 2 5 6 8 5
Mögliche Lösung mit der Methode drop_duplicates () . Es wird jedoch nach Zeilen gesucht, daher sollten Sie es auf Ihren transponierten Datenrahmen anwenden und das Ergebnis dann erneut transponieren. Beispiel:
data = [
[4, 5, 7, 7, 4, 5],
[5, 6, 8, 8, 5, 5],
]
columns=['feature1', 'feature2', 'feature3', 'feature4', 'feature5', 'feature6']
df = pd.DataFrame(data, columns)
df.T.drop_duplicates().T
Um anzuzeigen, welche Funktionen dupliziert werden, können Sie die Methode duplicated () verwenden
df.T.duplicated().T
Wird zeigen:
feature1 False
feature2 False
feature3 False
feature4 True
feature5 True
feature6 False
dtype: bool
Verwandte Fragen
Neue Fragen
python
Python ist eine dynamisch typisierte Mehrzweck-Programmiersprache mit mehreren Paradigmen. Es wurde entwickelt, um schnell zu lernen, zu verstehen, zu verwenden und eine saubere und einheitliche Syntax durchzusetzen. Bitte beachten Sie, dass Python 2 ab dem 01.01.2020 offiziell nicht mehr unterstützt wird. Fügen Sie für versionenspezifische Python-Fragen das Tag [python-2.7] oder [python-3.x] hinzu. Wenn Sie eine Python-Variante (z. B. Jython, PyPy) oder eine Bibliothek (z. B. Pandas und NumPy) verwenden, fügen Sie diese bitte in die Tags ein.