Alle anderen Antworten, die ich finden konnte, bezogen sich auf alle verschachtelten Listen innerhalb einer Liste von Listen, wo ich nachsehen für jede Liste getrennt aggregieren.Erstellen eines separaten Counter() - Objekts und Pandas DataFrame für jede Liste in einer Liste von Listen
Im Moment habe ich eine Liste von Listen:
master_list = [[a,a,b,b,b,c,c,c], [d,d,d,a,a,a,c,c,c], [c,c,c,a,a,f,f,f]]
Ich möchte ein Wörterbuch oder Zähler zurück() Objekte für jede Liste mit einer Schleife:
counter1 = {'a': 2, 'b': 3, 'c': 3}
counter2 = {'d': 3, 'a': 3, 'c': 3}
counter3 = {'c': 3, 'a': 2, 'f': 3}
Derzeit bin ich Rückkehr etwas, das mit einer Schleife wie folgt aussieht - es ist nicht genau das, was ich will, da es alles zusammengewürfelt ist und ich Probleme beim separaten Zugriff auf die Zählerobjekte habe:
Input:
count = Counter()
for lists in master_list:
for words in lists:
count[words] += 1
Output:
Counter({'a': 2, 'b': 3, 'c': 3})
Counter({'d': 3, 'a': 3, 'c': 3})
Counter({'c': 3, 'a': 2, 'f': 3})
Das Problem mit dem Obengenannten ist, dass ich nicht scheinen kann, einen Weg zu finden, jeden Counter einzeln zu ergreifen, weil ich versuche, einen pandas Datenrahmen für jedes dieser Wörterbücher/Gegenobjekte zu schaffen. Ich versuche das programmatisch zu tun, weil meine "master_list" Hunderte von Listen enthält und ich möchte einen Datenrahmen zurückgeben, der die Häufigkeit der Elemente für jede einzelne Liste anzeigt. Am Ende würde ich für jede Liste einen separaten Datenrahmen und Counter-Objekt hat in „Master-Liste“
Zur Zeit habe ich etwas, das nur 1 Datenrahmen zurück:
Input:
table = pandas.DataFrame(count.items())
table.columns = ['Word', 'Frequency']
table.sort_values(by=['Frequency'], ascending = [False])
Output:
Word Frequency
the 542
and 125
or 45
. .
. .
. .
. .
Einsicht würde geschätzt - auch, Tipps zur separaten Behandlung von Counter() - Objekten sind willkommen.
was genau meinen Sie? – mk8efz