• pandas(四)唯一值、值计数以及成员资格


    针对Series对象,从中抽取信息

    unique可以得到Series对象的唯一值数组

    >>> obj = Series(['c','a','d','a','a','b','b','c','c'])
    >>> obj.unique()
    array(['c', 'a', 'd', 'b'], dtype=object)
    >>> obj
    0    c
    1    a
    2    d
    3    a
    4    a
    5    b
    6    b
    7    c
    8    c
    dtype: object
    >>> type(obj.unique())
    <class 'numpy.ndarray'>#注意这里返回的不再是Series对象,而是ndarray的一维数组

    返回的是未排序的数组,如果需要排序,再次执行sort()方法或者用numpy的顶级函数sort()

    >>> new_array = obj.unique()
    >>> new_array
    array(['c', 'a', 'd', 'b'], dtype=object)
    >>> new_array.sort()
    >>> new_array
    array(['a', 'b', 'c', 'd'], dtype=object)
    >>> import numpy as np
    >>> new_array = obj.unique()
    >>> new_array
    array(['c', 'a', 'd', 'b'], dtype=object)
    >>> na = np.sort(new_array)
    >>> na
    array(['a', 'b', 'c', 'd'], dtype=object)

    值计数

    用到value_counts方法或value_count顶级函数

    >>> obj
    0    c
    1    a
    2    d
    3    a
    4    a
    5    b
    6    b
    7    c
    8    c
    dtype: object
    >>> obj_c= obj.value_counts()
    >>> obj_c
    c    3
    a    3
    b    2
    d    1
    dtype: int64
    >>> pd.value_counts(obj)#默认是降序
    c    3
    a    3
    b    2
    d    1
    dtype: int64
    >>> pd.value_counts(obj,sort =False)#对统计结果不排序
    a    3
    b    2
    d    1
    c    3
    dtype: int64

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

    >>> mask = obj.isin(['a','c'])
    >>> mask
    0     True
    1     True
    2    False
    3     True
    4     True
    5    False
    6    False
    7     True
    8     True
    dtype: bool
    >>> obj[mask]
    0    c
    1    a
    3    a
    4    a
    7    c
    8    c
    dtype: object

    可以将value_counts的顶级函数传给DataFrame对象的apply()使用,以便统计一列或者一行的值的个数

  • 相关阅读:
    git ignore文件
    SpringBoot 单元测试junit test
    SpringBoot 使用JPA+MySQL+Thymeleaf 总结 二
    mysql 修改成utf8编码
    mysql 递归查询父节点 和子节点
    SpringBoot jar程序配置成服务运行
    广告系统知识点汇总
    vue 、vue-router实现单页应用
    广告系统项目推进问题汇总
    vue采坑及较好的文章汇总
  • 原文地址:https://www.cnblogs.com/zuoshoushizi/p/8734027.html
Copyright © 2020-2023  润新知