Heim >Backend-Entwicklung >Python-Tutorial >Wie können Sie in Pandas breite Daten effizient in ein langes Format umwandeln?

Wie können Sie in Pandas breite Daten effizient in ein langes Format umwandeln?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-12 02:41:02353Durchsuche

How do you efficiently transform wide data to a long format in Pandas?

Wide-Daten in Pandas umwandeln

Viele Datenmanipulationsaufgaben erfordern, dass Datensätze in einem bestimmten Format vorliegen, das oft als Long- oder Long-Daten bezeichnet wird umfangreiche Daten. In Pandas kann die Umformung von breit nach lang durch die Funktionen pd.melt oder DataFrame.melt erreicht werden.

Originaldaten:

Betrachten Sie den folgenden breiten Datenrahmen, wo Die Datumsangaben sind der Index und die Spalten stellen verschiedene Variablen dar:

         AA  BB  CC
date
05/03     1   2   3
06/03     4   5   6
07/03     7   8   9
08/03     5   7   1

Umformen in Lang:

Um diesen Datenrahmen in ein Langformat umzuformen, in dem jede Zeile darstellt Als einzelne Kombination aus Datum und Variable können wir Folgendes verwenden:

df = df.reset_index().melt(id_vars='date')

Dadurch wird der Datenrahmen wie folgt umgewandelt:

     date variable  value
0   05/03       AA      1
1   06/03       AA      4
2   07/03       AA      7
3   08/03       AA      5
4   05/03       BB      2
5   06/03       BB      5
6   07/03       BB      8
7   08/03       BB      7
8   05/03       CC      3
9   06/03       CC      6
10  07/03       CC      9
11  08/03       CC      1

Alternativ kann der Schritt „reset_index“ weggelassen werden, indem in „ignore_index=False“ angegeben wird Schmelzfunktion:

dfm = df.melt(ignore_index=False)

Dadurch wird sichergestellt, dass der Zeilenindex im transformierten Datenrahmen erhalten bleibt.

Das obige ist der detaillierte Inhalt vonWie können Sie in Pandas breite Daten effizient in ein langes Format umwandeln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn