将特定值的计数存储在Pandas数据帧的列中

时间:2016-04-28 18:18:05

标签: python pandas count

我的数据框有两列SESSIONPRICE_POINT

SESSION是一个类别变量(具有各种ip会话的值)

PRICE_POINT有两个值,例如' high',' low'

我正在运行以下内容:

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

我的输出是,

high    30204
low     62978
dtype: int64

我需要的是,我想得到"高"和"低"来自专栏" price_point"单独存储,并将该值存储为n = 30204和m = 62978。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

怎么样:

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

或分两步:

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

答案 1 :(得分:0)

IIUC然后您只需使用值索引系列,例如:

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