Heim >Backend-Entwicklung >Python-Tutorial >Wie kann man Daten in Pandas vom Breit- ins Langformat umformen?

Wie kann man Daten in Pandas vom Breit- ins Langformat umformen?

DDD
DDDOriginal
2024-11-16 14:57:03167Durchsuche

How to Reshape Data from Wide to Long Format in Pandas?

Umformen von Daten von Wide zu Long in Pandas

In Pandas können Datenrahmen von einem Wide-Format in ein Long-Format umgewandelt werden. Dies ist nützlich, wenn Sie den Datenrahmen mit einem anderen zusammenführen möchten, der auf gemeinsamen Spalten und Daten basiert.

Betrachten Sie den folgenden Datenrahmen:

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

Um diesen Datenrahmen in ein langes Format umzuwandeln, verwenden Sie eines der beiden pandas.melt oder pandas.DataFrame.melt.

df = pd.DataFrame({
    'date' : ['05/03', '06/03', '07/03', '08/03'],
    'AA' : [1, 4, 7, 5],
    'BB' : [2, 5, 8, 7],
    'CC' : [3, 6, 9, 1]
}).set_index('date')
To convert, reset the index and then melt:
df = df.reset_index()
pd.melt(df, id_vars='date', value_vars=['AA', 'BB', 'CC'])

Alternativ verwenden Sie .reset_index nach .melt, um die Angabe von value_vars überflüssig zu machen.

dfm = df.melt(ignore_index=False).reset_index()

Der resultierende Datenrahmen würde wie folgt aussehen:

     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

Das obige ist der detaillierte Inhalt vonWie kann man Daten in Pandas vom Breit- ins Langformat umformen?. 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