Ich habe so einen Datenrahmen
0210 0222 0525
001 1 4 7
002 2 5 8
003 3 6 9
Wie glätte ich es und kombiniere die Etiketten als solche?
0210-001 1
0210-002 2
0210-003 3
0222-001 4
0222-002 5
0222-003 6
0525-001 7
0525-002 8
0525-003 9
Lösung des Problems
Verwenden Sie DataFrame.unstack
mit abgeflachten MultiIndex
Werten:
s = df.unstack()
s.index = [f'{a}-{b}' for a, b in s.index]
print (s)
0210-001 1
0210-002 2
0210-003 3
0222-001 4
0222-002 5
0222-003 6
0525-001 7
0525-002 8
0525-003 9
dtype: int
Zuletzt für DataFrame-Nutzung:
df = s.rename_axis('a').reset_index(name='b')
print (df)
a b
0 0210-001 1
1 0210-002 2
2 0210-003 3
3 0222-001 4
4 0222-002 5
5 0222-003 6
6 0525-001 7
7 0525-002 8
8 0525-003 9
Keine Kommentare:
Kommentar veröffentlichen