Spalte aus Pandas DataFrame löschen
Wenn ich eine Spalte in einem DataFrame lösche, verwende ich:
del df['column_name']
Und das funktioniert wunderbar. Warum kann ich nicht das Folgende verwenden?
del df.column_name
Da Sie auf die Spalte/Serie als df.column_name
zugreifen können, erwarte ich, dass dies funktioniert.
1121
3
Der beste Weg, dies in Pandas zu tun, ist die Verwendung von
drop
:wobei
1
die Achsennummer ist (0
für Zeilen und1
für Spalten.)Um die Spalte zu löschen, ohne
df
neu zuweisen zu müssen, können Sie dies tun:Um schließlich nach der Spaltennummer statt nach der Spaltenbezeichnung zu löschen, versuchen Sie dies, um z.B. die Spalten 1, 2 und 4 zu löschen:
Wie Sie schon erraten haben, ist die richtige Syntax
Es ist schwierig,
del df.column_name
zum Laufen zu bringen, einfach aufgrund der syntaktischen Beschränkungen in Python.del df[name]
wird von Python heimlich indf.__delitem__(name)
übersetzt.Es ist gute Praxis, immer die
[]
Notation zu verwenden. Ein Grund dafür ist, dass die Attributnotation (df.column_name
) für nummerierte Indizes nicht funktioniert: