Angenommen, wir haben Pandas verwendet, die Folgendes dataframe[column].value_counts()
ausgeben:
apple 5
sausage 2
banana 2
cheese 1
Wie extrahieren Sie die Werte in der oben gezeigten Reihenfolge von max bis min?
z.B: [apple,sausage,banana,cheese]
dataframe.value_counts()
oder benutztseries.value_counts()
? In welchem Datentyp haben Sie die Ausgabe?value_counts()
eine Serie ist, sodass alle Serienmethoden verwendet werden können. Oft speichern Sie sie jedoch einfach so, wie sie ist, je nachdem, was Sie später damit tun möchten.Antworten:
Versuche dies:
dataframe[column].value_counts().index.tolist() ['apple', 'sausage', 'banana', 'cheese']
quelle
dataframe[column].value_counts()
, wird unten ein D-Typ angezeigt. Gibt es einen Weg, das nicht zu bekommen?dataframe[column].value_counts().to_frame()
.value_counts().index
und.value_counts().values
#!/usr/bin/env python import pandas as pd # Make example dataframe df = pd.DataFrame([(1, 'Germany'), (2, 'France'), (3, 'Indonesia'), (4, 'France'), (5, 'France'), (6, 'Germany'), (7, 'UK'), ], columns=['groupid', 'country'], index=['a', 'b', 'c', 'd', 'e', 'f', 'g']) # What you're looking for values = df['country'].value_counts().keys().tolist() counts = df['country'].value_counts().tolist()
Nun
print(df['country'].value_counts())
gibt:France 3 Germany 2 UK 1 Indonesia 1
und
print(values)
gibt:['France', 'Germany', 'UK', 'Indonesia']
und
print(counts)
gibt:[3, 2, 1, 1]
quelle
Wenn jemand es in den Kommentaren verpasst hat, versuchen Sie Folgendes:
quelle
Zuerst müssen Sie
sort
diedataframe
durch diecount
Spaltemax
zu ,min
wenn es auf diese Weise schon nicht sortiert ist. In Ihrem Beitrag ist es bereits in der richtigen Reihenfolge, aber ich werdesort
es trotzdem tun:dataframe.sort_index(by='count', ascending=[False]) col count 0 apple 5 1 sausage 2 2 banana 2 3 cheese 1
Dann können Sie die
col
Spalte in eine Liste ausgeben :dataframe['col'].tolist() ['apple', 'sausage', 'banana', 'cheese']
quelle
Der beste Weg, um die Werte zu extrahieren, besteht darin, Folgendes zu tun
Dies gibt ein Wörterbuch zurück, das Sie wie jedes andere Diktat verwenden können. Werte oder Schlüssel verwenden.
{"apple": 5, "sausage": 2, "banana": 2, "cheese": 1}
quelle
sorted(dict, key=lambda key: -dict[key])
Code
train["label_Name"].value_counts().to_frame()
Dabei gilt: label_Name Mittlerer Spaltenname
Ergebnis (mein Fall): -
0 29720 1 2242 Name: label, dtype: int64
quelle