<
>

python基础篇之pandas常用基本函数汇总

2022-07-05 10:58:20 来源:易采站长站 作者:

目录
前言1、汇总函数2、特征统计函数3、唯一值函数4、替换函数总结

前言

这篇主要整理pandas常用的基本函数,主要分为五部分:

    汇总函数特征统计函数唯一值函数替换函数排序函数

    1、汇总函数

    常用的主要是4个:

      tail():>head(): 返回表或序列的前n行info(): 返回表的信息概况describe(): 返回表中数值列对应的主要统计量

      n默认为5

      df.describe()
      
      #运行截图
      	Height	Weight
      count	183.000000	189.000000
      mean	163.218033	55.015873
      std	8.608879	12.824294
      min	145.400000	34.000000
      25%	157.150000	46.000000
      50%	161.900000	51.000000
      75%	167.500000	65.000000
      max	193.900000	89.000000
      

      2、特征统计函数

      在Series和DataFrame上定义了许多统计函数,最常见的是:

        summean>median (中位数)var (方差)std (标准差)maxmin

        用法示例

        df_demo = df[['Height', 'Weight']]
        df_demo.mean()
        

        聚合函数

          quantile (返回分位数)count (返回非缺失值个数)idxmax (最大值对应的索引)

          聚合函数,有一个公共参数axis,axis=0代表逐列聚合,axis=1表示逐行聚合

          df_demo.mean(axis=1).head()
          

          3、唯一值函数

          唯一值函数常用的四个函数:

            unique()>nunique() :唯一值的个数->统计出指定列唯一存在的值总共有多少个value_counts() : 得到唯一值和其对应出现的频数drop_duplicates() : 去重duplicated()

            drop_duplicates()基本用法

              关键参数keepfirst : 保留第一次出现的重复行,删除后面的重复行last : 删除重复项,除了最后一次出现False:把所有重复组合所在的行剔除。

              需要指定列

              代码:

              #原本的数据样例
              df_demo = df[['Gender','Transfer','Name']]
              df_demo
              
                  Gender    Transfer    Name
              0    Female    N    Gaopeng Yang
              1    Male    N    Changqiang You
              2    Male    N    Mei Sun
              3    Female    N    Xiaojuan Sun
              4    Male    N    Gaojuan You
              ...    ...    ...    ...
              195    Female    N    Xiaojuan Sun
              196    Female    N    Li Zhao
              197    Female    N    Chengqiang Chu
              198    Male    N    Chengmei Shen
              199    Male    N    Chunpeng Lv
              200 rows × 3 columns
              
              #现给Gender,Transfer两列去重
              df_demo.drop_duplicates(['Gender','Transfer'])
              
                  Gender    Transfer    Name
              0    Female    N    Gaopeng Yang
              1    Male    N    Changqiang You
              12    Female    NaN    Peng You
              21    Male    NaN    Xiaopeng Shen
              36    Male    Y    Xiaojuan Qin
              43    Female    Y    Gaoli Feng
              

              由此可见,使用了first参数,保留第一次出现的重复行,删除后面的重复行

              在未指定参数的情况下,keep默认first;

              指定last

              案例如下:

              df_demo.drop_duplicates(['Gender', 'Transfer'], keep='last')
              
                  Gender    Transfer    Name
              147    Male    NaN    Juan You
              150    Male    Y    Chengpeng You
              169    Female    Y    Chengquan Qin
              194    Female    NaN    Yanmei Qian
              197    Female    N    Chengqiang Chu
              199    Male    N    Chunpeng Lv
              

              last:删除所有的重复行,只保留出现的最后一个

              drop_duplicates() & duplicated()的区别

              duplicated和drop_duplicates的功能类似,但前者返回了是否为唯一值的布尔列表,其keep参数与后者一致。其返回的序列,把重复元素设为True,否则为False。 drop_duplicates等价于把duplicated为True的对应行剔除。

              4、替换函数

              替换函数有三类:

                映射函数:replace()…逻辑函数:(1)where>数值替换

                replace的用法

                #原本的数据
                df_demo = df[['Gender','Transfer','Name']]
                df_demo
                
                    Gender    Transfer    Name
                0    Female    N    Gaopeng Yang
                1    Male    N    Changqiang You
                2    Male    N    Mei Sun
                3    Female    N    Xiaojuan Sun
                4    Male    N    Gaojuan You
                ...    ...    ...    ...
                195    Female    N    Xiaojuan Sun
                196    Female    N    Li Zhao
                197    Female    N    Chengqiang Chu
                198    Male    N    Chengmei Shen
                199    Male    N    Chunpeng Lv
                200 rows × 3 columns
                
                #替换Gender,女替换为0,男替换为1
                df['Gender'].replace({'Female':0, 'Male':1}).head()
                
                0    0
                1    1
                2    1
                3    0
                4    1
                Name: Gender, dtype: int64
                

                逻辑替换

                逻辑替换包括了where和mask,这两个函数是完全对称的:where函数在传入条件为False的对应行进行替换,而mask在传入条件为True的对应行进行替换,当不指定替换值时,替换为缺失值(NAN)

                s = pd.Series([-1, 1.2345, 100, -50])
                s.where(s<0)
                
                0    -1.0
                1     NaN
                2     NaN
                3   -50.0
                dtype: float64
                
                s.where(s<0, 100)
                
                0     -1.0
                1    100.0
                2    100.0
                3    -50.0
                dtype: float64
                
                s.mask(s<0)
                
                0         NaN
                1      1.2345
                2    100.0000
                3         NaN
                dtype: float64
                

                总结

                到此这篇关于python基础篇之pandas常用基本函数汇总的文章就介绍到这了,更多相关python pandas常用函数内容请搜索易采站长站以前的文章或继续浏览下面的相关文章希望大家以后多多支持易采站长站!

暂时禁止评论

微信扫一扫

易采站长站微信账号