pandas入门:汇总和计算描述统计-唯一值、值计数以及成员资格

from pandas import Series,DataFrame
import pandas as pd

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

print(obj.unique()) # 唯一值
'''
['c' 'a' 'd' 'b']
'''
print(obj.value_counts()) # 各值出现频率,默认降序
'''
a    3
c    3
b    2
d    1
dtype: int64
'''
print(pd.value_counts(obj.values,sort=False))
'''
b    2
d    1
a    3
c    3
dtype: int64
'''
#选取子集
mask = obj.isin(['b','c'])
print(mask)
'''
0     True
1    False
2    False
3    False
4    False
5     True
6     True
7     True
8     True
dtype: bool
'''
print(obj[mask])
'''
0    c
5    b
6    b
7    c
8    c
dtype: object
'''

data = DataFrame({'Qu1':[1,3,4,3,4],
                  'Qu2':[2,3,1,2,3],
                  'Qu3':[1,5,2,4,4]})
print(data)
'''
   Qu1  Qu2  Qu3
0    1    2    1
1    3    3    5
2    4    1    2
3    3    2    4
4    4    3    4
'''
print(data.apply(pd.value_counts))
'''
   Qu1  Qu2  Qu3
1  1.0  1.0  1.0
2  NaN  2.0  1.0
3  2.0  2.0  NaN
4  2.0  NaN  2.0
5  NaN  NaN  1.0
'''
result = data.apply(pd.value_counts).fillna(0)
print(result)
'''
   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
'''
  • isin:计算一个表示“Series各值是否包含于传入值序列中”的布尔型数组
  • unique:计算Series中唯一值数组,按发现的顺序返回
  • value_counts:返回一个Series,其索引为唯一值,其值为频率,按计数值降序排列
posted @ 2021-02-13 21:12  OTAKU_nicole  阅读(386)  评论(0)    收藏  举报