第16天pandas的基本功能(一)

灵活的二进制操作

  • 体现在2个方面

    • 支持一维和二维之间的广播

    • 支持缺失值数据处理

  • 四则运算支持广播

    • +add - sub *mul /div

    • divmod()分区和模运算(返回商和余数2个结果)

      • 案例:a,b=divmod(一维矩阵)

    • 空值处理

      • 矩阵中空值用NaN代替

      • NaN+值=NaN

      • np(numpy).nan表示空值

      • 填充空值: fillna(value=值)

      • np.nan == np.nan 结果为False

        • 如果a矩阵和b矩阵中有空值 那么 a == b 结果:False

        • 相同:a.equal(b )结果为:True.带空的矩阵比较推荐使用equal

    • 组合

      • 从df2中把df1的数据不全

        • df1.combine_first(df2)

      • 连接

        • 连接二维矩阵

          • df1.concat(df2,axis=0/1)

        • 连接一维矩阵

          • pd.concat([df1,df2])

        • 一维二维通用

          • df1.append(df2)

    • 统计

      • 所有统计函数都支持行或列~~~

        • sum(0/1) mean(0/1)

      • 统计函数

        功能 描述
        count 非NA观测数量
        sum 价值总和
        mean 价值的平均值
        mad 平均绝对偏差
        median 算术值的中值
        min 最低限度
        max 最大值
        mode 模式
        abs 绝对值
        prod 价值的产物
        std 贝塞尔校正的样本标准偏差
        var 无偏差
        sem 平均值的标准误差
        skew 样本偏斜(第3时刻)
        kurt 样本峰度(第4个时刻)
        quantile 样本分位数(值为%)
        cumsum 累计金额
        cumprod 累积产品
        cummax 累积最大值
        cummin 累积最小值
    • 统计函数,统计的时候自动跳过空值

    • len(数组)获取行数,包括Nan所在的行~~~count(不包括)

    • include

      • #可以指定摘要统计的东西
        矩阵.describe(include=['object'])
        矩阵.describe(include=['number'])
    • 最大最小索引

      • 最大数和最小数对应的索引位置

        • 最大 矩阵.idxmax(axis=0/1)

        • 最小 矩阵 .idxmin(axis=0/1)

    • 最常出现值模式

      • a.value_counts() 统计一维数组中每个元素出现的次数

      • a.mode()统计数组中出现次数最多的值

    • 分段/面元

      • cut和qcut

        • 共同点

          • 都可以分为好多份 pd.cut/qcut(df,4) qcut 是对等的 cut 是随机的

        • 不同点

          • pd.cut(df,[数组]) qcut不支持

        • 语法 pd.cut(df,[切点列表],right=True/False)

          • 示列

          #分2组  大于18的为成年,小于18的为未成年,统计个数 
          a = pd.Series([4,5,5,2,3,1,8,9,3,15,6,45,56,1,56,2,20,4,5,2,1,8,18,1,82,20,25,20,20,12,13,14])
          b = pd.cut(a,[0,18,100],labels=['未成年','成年'],right=False)
          b.value_counts()
    • 为矩阵添加处理函数/支持多个函数

      • 链式写法

        • (df.pipe(函数名,参数).pipe(函数名,参数).......)

      • apply

        • df.apply(函数名,axis=0/1) 为当前行或列添加处理函数

          • 示列

          #12.判断年龄是否成年: 18岁以上成年   #成年和未成年获救比例
          """
          1.判断是否成年
          2.
          """
          def age_old(b):
             
             c = b['Age']
             if c > 18:
                 return '成年'
             elif c < 18:
                 return '未成年'
             else:
                 return '空值'
          #创建新列
          df['chegnnian'] = df.apply(age_old,axis=1)
          #设置全家的汉子显示
          plt.rcParams['font.size'] = 15

          h_j = df.groupby(by=['Survived','chegnnian']).size()
          plt.pie(h_j,labels=['成年未获救','未成年未获救','空值未获救','成年获救','未成年获救','空值获救'],shadow=True,autopct='%1.1f%%')
          plt.axis('equal') #设置圆的形状 正圆
          plt.show()
      • map

        • df.applymap == df.map()

          • 示列

            #10.    以下肉类数据源,food都转换为小写,添加一个动物列,而且字符串都是小写
            data = pd.DataFrame({'food': ['bacon', 'pulled pork', 'bacon','Pastrami', 'corned beef', 'Bacon','pastrami', 'honey ham', 'nova lox'],
            'price': [4, 3, 12, 6, 7.5, 8, 3, 5, 6]})
            data['food'].str.lower()

            #新列: 动物列
            animal = { 'bacon': 'Pig', 'pulled pork': 'pIg', 'pastrami': 'cOw', 'corned beef': 'Co', 'honey Ham': 'pig', 'nova lox': 'Salmon' }
            x = data['food'].map(animal)
            data['animal'] = x
            data

pandas的基本功能(一)的更多相关文章

  1. pandas的筛选功能,跟excel的筛选功能类似,但是功能更强大。

    Select rows from a DataFrame based on values in a column -pandas 筛选 https://stackoverflow.com/questi ...

  2. (数据科学学习手札134)pyjanitor:为pandas补充更多功能

    本文示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 pandas发展了如此多年,所包含的功能已 ...

  3. python数据分析之Pandas:基本功能介绍

    Pandas有两个主要的数据结构:Series和DataFrame. Series是一种类似于一维数组的对象,它由一组数据以及一组与之相关的数据标签构成.来看下它的使用过程 In [1]: from  ...

  4. Pandas常用基本功能

    Series 和 DataFrame还未构建完成的朋友可以参考我的上一篇博文:https://www.cnblogs.com/zry-yt/p/11794941.html 当我们构建好了 Series ...

  5. Pandas | 21 日期功能

    日期功能扩展了时间序列,在财务数据分析中起主要作用.在处理日期数据的同时,我们经常会遇到以下情况 - 生成日期序列 将日期序列转换为不同的频率 创建一个日期范围 通过指定周期和频率,使用date.ra ...

  6. Pandas | 05 基本功能

    到目前为止,我们了解了三种Pandas数据结构以及如何创建它们.接下来将主要关注数据帧(DataFrame)对象,因为它在实时数据处理中非常重要,并且还讨论其他数据结构. 一.系列基本功能 编号 属性 ...

  7. pandas replace 替换功能function

    list like replace method dict like replace method regex expression import pandas as pd import numpy ...

  8. 3.1,pandas【基本功能】

    一:改变索引 reindex方法对于Series直接索引,对于DataFrame既可以改变行索引,也可以改变列索引,还可以两个一起改变. 1)对于Series In [2]: seri = pd.Se ...

  9. pandas的基本功能

    一.重新索引 (1)reindex方式 obj = pd.Series(['blue', 'purple', 'yellow'], index=[0, 2, 4]) print(obj) obj.re ...

随机推荐

  1. 面试题: 多个 await 处理,有一个失败,就算作失败

    面试题: 多个 await 处理,有一个失败,就算作失败 ? Promise.all([p1, p2, p3....])    // 返回的也是一个 Promise 对象 -------- asait ...

  2. linux学习:xargs与grep用法整理

    xargs xargs 是给命令传递参数的一个过滤器,也是组合多个命令的一个工具. xargs 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据. xargs 也可 ...

  3. Spring Boot 引入org.springframework.boot.SpringApplication出错

    今天新建的一个spring boot maven项目, 写启动类时发现无法引入SpringApplication, 经查原来是冲突了,我早些时候用了比较低版本的spring boot创建了项目 ,导致 ...

  4. thinkphp 区间查询 查符合某个字段的数据 但是n个条件 用and or 配合

    function get_arbeit_yuexin($screen){ $data = get_money_data_s($screen,2); dump($data['url_id']);//$d ...

  5. Javascript获取服务器时间

    //获取服务器时间 var getServerDate = function () {     var xmlHttpRequest = null,     serverDate = new Date ...

  6. docsis cm 上线过程(bigwhite)

    扫描与同步下行(SYNC消息) 获取上行参数(UCD消息.MAP消息)  通过测距完成时间偏移等的调整(RNG消息) 设备类型鉴定(可选,DCI消息) 建立IP通道(DHCP)  同步系统时间(TOD ...

  7. c#重命名文件,报错“System.NotSupportedException”类型的未经处理的异常在 mscorlib.dll 中发生”

    修改远程服务器的文件名,报错“System.NotSupportedException”类型的未经处理的异常在 mscorlib.dll 中发生”,“System.NotSupportedExcept ...

  8. 20175303 2018-2019-2 《Java程序设计》第7周学习总结

    20175303 2018-2019-2 <Java程序设计>第7周学习总结 教材学习内容总结 1.String类: Java专门提供了用来处理字符序列的String类 构造String对 ...

  9. apache tomcat的安装

    第一步:下载及安装. 1.首先进入apache的官网网址:www.apache.org 2.点击 projects 3.进入tomcat下载页面. 4.点击tomcat 9 5.认准是Binary D ...

  10. CSIS 1119B/C Introduction to Data Structures and Algorithms

    CSIS 1119B/C Introduction to Data Structures and Algorithms Programming Assignment TwoDue Date: 18 A ...