我有一个数据框,我正在查看数据框中名为
的一列array(['Katherine', 'Robert', 'Anne', nan, 'Susan', 'other'], dtype=object)
我正试着打电话告诉我这些唯一名字出现在列中的次数,例如,如果有凯瑟琳的223个实例等。 我该怎么做呢?我知道value_counts每个都显示1,因为它们是独立的唯一值
答案 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'])