从Series得到唯一值数组

obj = Series(['c', 'a', 'd', 'a', 'a', 'b', 'b', 'c', 'c'])
uniques = obj.unique()

返回的唯一值是未排序的,如果需要,需要对结果再次排序

uniques.sort()

value_counts计算一个Series中各值出现的频率

obj.value_counts()

c    3
a    3
b    2
d    1
dtype: int64

结果是按值频率降序排列的。同时,value_counts还是pandas的顶级方法,可用于任何数组或序列

pd.value_counts(obj.values, sort=False)

isin用于判断矢量化集合的成员资格,可用于选取Series或DataFrame列中的数据子集

mask = obj.isin(['b', 'c'])
obj[mask]

DataFrame应用value_counts

data = DataFrame({'Qu1': [1, 3, 4, 3, 4],
                  'Qu2': [2, 3, 1, 2, 3],
                  'Qu3': [1, 5, 2, 4, 4]})
result = data.apply(pd.value_counts).fillna(0)

    Qu1    Qu2    Qu3
1    1.0    1.0    1.0
2    0.0    2.0    1.0
3    2.0    2.0    0.0
4    2.0    0.0    2.0
5    0.0    0.0    1.0

results matching ""

    No results matching ""