Hi Zusammen
Ich habe folgendes df:
book_id genres
1780947 {'fiction': 17, 'non-fiction': 9}
567795 {'romance': 88, 'non-fiction': 193}
6392654 {'fiction': 43, 'non-fiction': 5, 'fantasy': 100}
36216607 {'fiction': 17, 'poetry': 1}
21031 {'fiction': 489, 'history': 51}
Die Spalte Genre beinhaltet ein dict mit den paaren Genre und Anzahl
Ich würde jetzt gerne für jede book_id das Genre mit den höchsten Anzahl auslesen.
Also z.b. so:
book_id genres
1780947 fiction
567795 non-fiction
6392654 fantasy
36216607 fiction
21031 fiction
Um der Max wert von einem Dict auszulesen habe ich folgendes gefunden: max(stats, key=stats.get)
Wie kann ich das aber in einem df pro Zeile anwenden?
Ich bin für jede hilfe Dankbar
LG
Key mit höchstem Value von dict pro Zeile in df
- __blackjack__
- User
- Beiträge: 13099
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@01010100-01000010: Die erste Frage ist warum Du Wörterbücher als Werte in einer Spalte hast. Dafür ist Pandas nicht wirklich gemacht. Die Genres sollten entweder Spalten sein, oder aber es sollte eine Tabelle sein mit drei Spalten: `book_id`, `genre`, `count`. Da würde man dann sowieso hin wollen, denn dort liesse sich das ganze einfach nach Buch-ID gruppieren, und aus jeder Gruppe dann das `genre` mit dem höchsten `count`-Wert heraus picken.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
-
- User
- Beiträge: 4
- Registriert: Dienstag 22. November 2022, 17:56
Hi @__blackjack____blackjack__ hat geschrieben: ↑Freitag 9. Dezember 2022, 11:12 @01010100-01000010: Die erste Frage ist warum Du Wörterbücher als Werte in einer Spalte hast. Dafür ist Pandas nicht wirklich gemacht. Die Genres sollten entweder Spalten sein, oder aber es sollte eine Tabelle sein mit drei Spalten: `book_id`, `genre`, `count`. Da würde man dann sowieso hin wollen, denn dort liesse sich das ganze einfach nach Buch-ID gruppieren, und aus jeder Gruppe dann das `genre` mit dem höchsten `count`-Wert heraus picken.
Danke für deine Antwort.
Das ist ein guter Punkt, da das mein erstes CodingProjekt ist und ich keine Erfahriungen in dem Bereich mitbringe habe ich das gar nicht hinterfragt
Die ursprüngliche quelle ist gooreads_book_genres_initial.json von https://sites.google.com/eng.ucsd.edu/u ... raph/books
Eingelesen habe ich das ganze direkt in ein DF:
DFG = pd.read_json('.../goodreads_book_genres_initial.json', lines=True)
Wie würde ich denn am besten vorgehen um die Tabelle in deiner vorgeschlagenen Struktur zu kriegen?
Lg