Ich habe einen Pandas-Datenrahmen wie diesen:
df = pd.DataFrame({"ID": [1, 1, 1, 2, 2, 2, 2], "Buchstabe": ['A', 'B', 'C', 'A', 'D ', 'B', 'C']})
Wie kann ich effizient eine neue Spalte "Merge" hinzufügen, sodass alle Werte aus der Spalte "Buchstabe" nach "ID" verkettet werden, sodass der endgültige Datenrahmen folgendermaßen aussehen würde:
Lösung des Problems
Sie können groupby
Id
dann Spaltetransform
df['Merge'] = df.groupby('Id').transform(lambda x: '-'.join(x))
print(df)
Id Letter Merge
0 1 A A-B-C
1 1 B A-B-C
2 1 C A-B-C
3 2 A A-D-B-C
4 2 D A-D-B-C
5 2 B A-D-B-C
6 2 C A-D-B-C
Keine Kommentare:
Kommentar veröffentlichen