列大熊猫中唯一值的计数

时间:2017-01-15 19:57:02

标签: python pandas unique

我有一个数据框,我正在查看数据框中名为

的一列
array(['Katherine', 'Robert', 'Anne', nan, 'Susan', 'other'], dtype=object)

我正试着打电话告诉我这些唯一名字出现在列中的次数,例如,如果有凯瑟琳的223个实例等。 我该怎么做呢?我知道value_counts每个都显示1,因为它们是独立的唯一值

2 个答案:

答案 0 :(得分:5)

如果我理解正确,您可以使用pandas.Series.value_counts

示例:

import pandas as pd
import numpy as np

s = pd.Series(['Katherine', 'Robert', 'Anne', np.nan, 'Susan', 'other'])

s.value_counts()

Katherine    1
Robert       1
other        1
Anne         1
Susan        1
dtype: int64

您提供的数据只有每个名称中的一个 - 所以这里有一个多个' Katherine'输入:

s = pd.Series(['Katherine','Katherine','Katherine','Katherine', 'Robert', 'Anne', np.nan, 'Susan', 'other'])

s.value_counts()

Katherine    4
Robert       1
other        1
Anne         1
Susan        1
dtype: int64

应用于数据框后,您将按以下方式调用:

df['names'].value_counts()

答案 1 :(得分:0)

您可以使用group by来实现:

df[['col1']].groupby(['col1']).agg(['count'])