2017-05-13 3 views
1

Ich habe gerade angefangen, mit der Pandas-Bibliothek zu arbeiten, um große Datensätze zu analysieren. Ich analysiere Kreditkartendaten mit der Eigenschaft issuercountrycode, die aus 117 Möglichkeiten besteht. Wenn ich versuche zu visualisieren, was issuercountrycode in meinem Dataset verwendet werden, verwende ich derzeit den folgenden Code, um ein Kreisdiagramm zu generieren.Hinzufügen einer 'Rest'-Gruppe mit Pandas value_counts()

df['issuercountrycode'].value_counts().plot(kind='pie') 
plt.show() 

Daraus ergibt sich die folgende piechart:

Example of my piechart

Wie Sie sehen können, ist dies nicht ideal ist, weil mehrere Werte sind nicht so häufig verwendet. Gibt es in Pandas die Möglichkeit, bei Verwendung der Funktion value_counts() einen Schwellenwert hinzuzufügen und Werte, die niedriger als ein bestimmter Wert sind, einer Restgruppe hinzuzufügen? Sind solche Operationen auch in Pandas möglich?

Antwort

1

Sie müssen es zählen mit boolean indexing und sum:

tresh = 2 
a = df['issuercountrycode'].value_counts() 
b = a[a > tresh] 
b['rest'] = a[a <= tresh].sum() 

Probe:

np.random.seed(10) 
L = list('abcdef') 
df = pd.DataFrame({'issuercountrycode':np.random.choice(L, size=15)}) 

tresh = 2 
a = df['issuercountrycode'].value_counts() 
b = a[a > tresh] 
b['rest'] = a[a <= tresh].sum() 
print (b) 
b  5 
f  3 
a  3 
rest 4 
Name: issuercountrycode, dtype: int64 

b.plot.pie() 

graph

+0

Genau das, was ich suchte, danke! – hY8vVpf3tyR57Xib

+0

Froh kann helfen, schönes Wochenende! – jezrael

Verwandte Themen