Code: Select all
df_example = pl.DataFrame(
{
"DATE": ["2024-11-11", "2024-11-11", "2024-11-12", "2024-11-12", "2024-11-13"],
"A": [None, None, "option1", "option2", None],
"B": [None, None, "YES", "YES", "NO"],
}
)
DATUM< /th>
A
B
0
2024-11-11
1
< td style="text-align: left;">2024-11-11
2
2024-11-12
option1
JA
3
2024-11-12
option2
JA
4
2024-11-13
NEIN
Wie Sie Ich kann sehen, dass es sich um einen Datenrahmen im Langformat handelt. Ich möchte es in einem breiten Format haben, das heißt, ich möchte, dass das DATUM pro Zeile eindeutig ist und für jede andere Spalte mehrere Spalten erstellt werden müssen. Was ich erreichen möchte, ist:
DATUM
A_option1
A_option2
B_YES
B_NO
2024-11-11
Null
Null
Null
Null
< /tr>
2024-11-12
Wahr
Wahr
Wahr
Null
2024-11-13
Null
Null
Null
True
Ich habe Folgendes versucht:
Code: Select all
df_example.pivot(
index="DATE", on=["A", "B"], values=["A", "B"], aggregate_function="first"
)
Code: Select all
DuplicateError: column with name 'null' has more than one occurrence
Ich suche nach einer sauberen Lösung für dieses Problem. Ich weiß, dass ich die Nullen pro Spalte mit etwas Einzigartigem unterstellen und dann den Pivot durchführen kann. Oder indem Sie pro Spalte drehen und dann die Nullspalten löschen. Dadurch werden jedoch unnötige Spalten erstellt. Ich möchte etwas Eleganteres.