[PYTHON] Ordnen Sie die Spaltenreihenfolge von Pandas.DataFrame willkürlich neu an

Einführung

Wenn eine Spalte zu einem Pandas-Datenrahmen hinzugefügt wird, wird sie am Ende hinzugefügt. Manchmal möchten Sie jedoch die Spaltenreihenfolge des Datenrahmens bei der Ausgabe in eine Datei angeben. Apropos Sortieren von DataFrame, sort_values () und sort_index () werden verwendet, aber beide sortieren in Zeilenrichtung und unterstützen das Sortieren in Spaltenrichtung nicht. Ich benutze es nicht oft, aber ich möchte es benutzen, wenn ich es vergesse, also werde ich es als Memorandum behalten.

Methode

Übergeben Sie einfach eine Liste sortierter Spaltennamen an das Argument Pandas loc. pandas.DataFrame.loc

Der Index kann auch in beliebiger Reihenfolge angewendet werden.

Datenaufbereitung

from sklearn.datasets import load_iris
import pandas as pd

#Verwenden Sie Irisdaten als Beispiel
iris = load_iris()
df_iris = pd.DataFrame(iris.data, columns=iris.feature_names)

#Suchen Sie den Durchschnittswert jedes Elements und fügen Sie dem Spaltennamen ein Suffix hinzu"_mean"Anfügen
for col in df_iris.columns:
    df_iris[col + "_mean"] = df_iris[col].mean()

df_iris.head()

iris_01.png

Sortierung

#Erstellen Sie eine Liste in einer beliebigen Spaltenreihenfolge
#Rufen Sie hier die Spaltennamensliste von DataFrame ab, sortieren Sie sie in aufsteigender Reihenfolge und verwenden Sie sie.
list_col_sorted = df_iris.columns.to_list()
list_col_sorted.sort()
list_col_sorted
['petal length (cm)',
 'petal length (cm)_mean',
 'petal width (cm)',
 'petal width (cm)_mean',
 'sepal length (cm)',
 'sepal length (cm)_mean',
 'sepal width (cm)',
 'sepal width (cm)_mean']

Ergebnis

#Legen Sie die sortierte Liste im Argument von loc fest
df_iris.loc[:, list_col_sorted].head()

iris_03.png

abschließend

Das Sortieren nach Spaltennamen führt nun dazu, dass Spaltennamen, die mit "_mean" enden, unmittelbar nach der ursprünglichen Spalte ausgerichtet werden.

Beim maschinellen Lernen können Hunderte oder Tausende von Funktionen aus Dutzenden oder mehr Elementen erstellt werden. Es ist schwer zu erkennen, ob die entsprechenden Elemente getrennt sind, z. B. beim Hinzufügen eines Flags für fehlende Werte. Daher ist es in einer solchen Situation gut, sich daran zu erinnern.

Recommended Posts

Ordnen Sie die Spaltenreihenfolge von Pandas.DataFrame willkürlich neu an
Holen Sie sich die Spaltenliste und Datenliste von CASTable
Ändern Sie die Reihenfolge von PostgreSQL in Heroku
Über die übersichtliche Anordnung in der Importreihenfolge von Flake8
Setzen Sie die angegebene Spalte von QTableWidget auf ReadOnly StyledItemDelegate
Die Kopiermethode von pandas.DataFrame ist standardmäßig Deep Copy
00. Umgekehrte Reihenfolge der Zeichenfolgen
Der Beginn von cif2cell
Die Bedeutung des Selbst
der Zen von Python
Die Geschichte von sys.path.append ()
Rache der Typen: Rache der Typen
Sortieren Sie das String-Array nach Länge und japanischer Silbe