Ausgabe
Nehmen wir an, wir haben den folgenden df:
| col_a| col_b |
| -----| ----- |
| 1 | a |
| 2 | b |
Und wir wollen alle Zeilen auf JSONs reduzieren, die alle Spalten zeilenweise darstellen:
| json_representation |
| ------------------------------|
| {'col_a': 1, 'col_b': 'a'} |
| {'col_a': 2, 'col_b': 'b'} |
Dicts sind auch gut, da sie einfach in JSON-Strings konvertiert werden können.
Ich strebe eine Lösung an, bei der nicht jeder Spaltenname bekannt sein muss, daher sind Antworten hier (bis zu dem Moment, in dem ich frage) nicht die Lösung, nach der ich suche.
Lösung
Hier ist eine Möglichkeit, dies zu tun
Verwenden Sie apply und konvertieren Sie die Zeile mit to_json
df.apply(lambda x: x.to_json( ), axis=1)
0 {"col_a":1,"col_b":"a"}
1 {"col_a":2,"col_b":"b"}
dtype: object
df['json']=df.apply(lambda x: x.to_json( ), axis=1)
df
col_a col_b json
0 1 a {"col_a":1,"col_b":"a"}
1 2 b {"col_a":2,"col_b":"b"}
Beantwortet von – Naveed
Antwort geprüft von – Timothy Miller (FixError Admin)