2016-04-28 13 views
1

Ich habe einen Datenrahmen mit zwei Spalten wie SESSION und PRICE_POINT.Speichern Sie die Zählungen für einen bestimmten Wert in einer Spalte in Pandas Datenrahmen

SESSION ist eine Kategorie, Variablen (Werte mit verschiedenen IP-Sitzungen)

PRICE_POINT zwei Werte wie 'hoch' hat, 'niedrig'

Ich verwende die folgende:

n = pd.value_counts(df['price_point'].values, sort=False) 

Meine Ausgabe ist

high 30204 
low  62978 
dtype: int64 

Was ich brauche ist , Möchte ich die Zählung von "high" und "low" getrennt von der Spalte "price_point" bekommen und diese Werte als n = 30204 und m = 62978 speichern.

Irgendwelche Ideen?

+0

IIUC nicht ist das ist nur 'high = n.index ['high']' und 'low = n.index ['low']'? – EdChum

Antwort

0

Wie wäre:

n = df.price_point.value_counts().high 
m = df.price_point.value_counts().low 

df = pd.DataFrame(data={'price':['high', 'high', 'low', 'low', 'low', 'low']}) 
df.price.value_counts().high 

2 

oder in zwei Schritten:

counts = df.price_point.value_counts() 
n = counts.high 
+0

danke @Stefan. Das hat funktioniert – Anu

0

IIUC dann Sie gerade Index, der die Reihe der Werte, zB mit:

In [94]: 
df = pd.DataFrame({'col1':['high','high','low','low','low','low']}) 
df['col1'].value_counts() 

Out[94]: 
low  4 
high 2 
Name: col1, dtype: int64 

In [96]: 
counts.index 

Out[96]: 
Index(['low', 'high'], dtype='object') 

In [97]:  
counts = df['col1'].value_counts() 
print('high: ', counts['high'], 'low: ', counts['low']) 

high: 2 low: 4 
Verwandte Themen