pandas dataframe列中唯一值的计数

时间:2017-01-08 15:53:01

标签: pandas numpy unique

我试图在pandas数据帧的列中找到唯一值的频率我知道如何获取这样的唯一值:

data_file.visiting_states()

返回:

array(['CA', 'VA', 'MT', nan, 'CO', 'CT'],    dtype=object)

我希望返回那些唯一值的计数,我知道我不能.value_counts(),因为它是一个numpy数组

1 个答案:

答案 0 :(得分:1)

您可以使用nunique

data_file = pd.DataFrame({'visiting_states':['CA', 'VA', 'MT', np.nan, 'CO', 'CT','CA',
                                             'VA', 'MT', np.nan, 'CO', 'CT']})
print (data_file)
   visiting_states
0               CA
1               VA
2               MT
3              NaN
4               CO
5               CT
6               CA
7               VA
8               MT
9              NaN
10              CO
11              CT

print (data_file.visiting_states.nunique())
5

print (data_file.visiting_states.nunique(dropna=False))
6

arr = np.array(['CA', 'VA', 'MT', np.nan, 'CO', 'CT'],    dtype=object)
print (arr)
['CA' 'VA' 'MT' nan 'CO' 'CT']

print (len(arr))
6