status
type
date
slug
summary
tags
category
password
icon
Total Videos
Link
Video Duration

Pandas简介

官网:http://pandas.pydata.org
Pandas是Python第三方库,提供高性能易用数据类型和分析工具。
使用import pandas as pd调用pandas库,Pandas基于NumPy实现,常与NumPy和Matplotlib一同使用。

Pandas库的理解

Pandas库有两个数据类型:Series,DataFrame,Series相当于一个一维的数据类型,DataFrame相当于一个二维到多维的数据类型。
基于这两个数据类型,pandas支持了基本操作、运算操作、特征类操作、关联类操作
NumPy和Pandas的对比:
NumPy
Pandas
基础数据类型
扩展数据类型
关注数据的结构表达
关注数据的应用表达
维度:数据间关系
数据与索引间关系
NumPy过于注重数据的结构化表示,数据的维度,但实际应用中过于注重数据结构不利于数据的使用,Pandas则注重数据使用,拥有非常明确有效的索引,通过索引对数据进行相关的分析和提取。

Pandas库的Series类型

Series类型由一组数据及与之相关的数据索引组成。
Series要求每一个数据都有一个索引,要么由pandas生成自动索引,要么生成自定义索引
Series类型可以由如下类型创建:
  • Python列表
  • 标量值
    • Python字典
      • ndarray数组
        • 其他函数

        Series类型的基本操作

        Series类型包括index和values两部分,操作类似ndarray和python字典类型。
        Series类型的操作类似ndarray类型:
        • 索引方法相同,采用[]
        • NumPy中运算和操作可用于Series类型
        • 可以通过自定义索引的列表进行切片
        • 可以通过自动索引进行切片,如果存在自定义索引,则一同被切片。
        Series类型本身是索引和值组成的类型,对它进行切片和运算都是生成Series类型,如果进行索引则于ndarray一样是数值
        Series类型的操作类似Python字典类型
        • 通过自定义索引访问
        • 保留字in操作
        • 使用.get()方法

        Series类型对齐操作

        Series类型在运算中会自动对齐不同索引的数据
        NumPy只关心数据的维度,所以运算是数据的维度之间的运算;Series类型拥有索引,所以关心的是数据基于索引的运算,所以运算的更为精确

        Series类型的name属性

        Series对象和所以都可以有一个名字,存储在属性.name中

        Series类型的修改

        Series对象可以随时修改并即刻生效

        Series类型总结

        Series是一维带“标签”的数组
        Series基本操作类似ndarray和字典,根据索引对齐。

        Pandas库的DataFrame类型

        DataFrame类型是一个:
        • 表格型的数据类型,每列值类型可以不同
        • 它既有行索引、也有列索引,行索引叫index(axis=0),列索引叫column(axis=1)
        • 它常用于表达二维数据,但也可以表达多维数据
        DataFrame可以由如下类型创建:
        • 二维ndarray对象
          • 由一维ndarray、列表、字典、元组或Series构成的字典
            • Series类型
            • 其他DataFrame类型

            Pandas库的数据类型操作

            要改变(删除,重排,增加)Series和DataFrame对象,我们可以使用如下方法
            • 对于增加或重排:重新索引
            • 删除:drop

            重新索引

            .reindex()能够改变或重排Series和DataFrame索引
            .refindex(index=None,columns=None,...)的参数:
            参数
            说明
            index,columns
            新的行列自定义索引
            fill_value
            重新索引中,用于填充缺失位置的值
            method
            填充方法,ffill当前值向前填充,bfill向后填充,指定fill_value的填充方法是当前位置前面的值填充还是后面的值填充
            limit
            最大填充量
            copy
            默认为True,生成新的对象,False时,新旧相等不复制

            索引类型

            Series和DataFrame的索引是Index类型,Index对象是不可修改类型
            索引类型的常用方法:
            方法
            说明
            .append(idx)
            链接另一个Index对象,产生新的Index对象
            .diff(idx)
            计算差集,产生新的Index对象
            .intersection(idx)
            计算交集
            .union(idx)
            计算并集
            .delete(loc)
            删除loc位置处的元素
            .insert(loc,e)
            在loc位置增加一个元素e

            删除指定索引对象

            .drop()能够删除Series和DataFrame指定行或列索引,默认操作0轴元素,因为Series对象只有0轴

            Pandas库的数据类型运算

            算术运算法则

            算术运算根据:
            • 行列索引,补齐后运算,运算默认产生浮点数
            • 补齐时缺项填充NaN(空值)
            • 二维和一维,一维和零维间为广播运算
            • 采用+-*/符号进行的二元运算产生新的对象
            四则运算的方法形式:
            方法
            说明
            .add(d,**argws)
            类型间加法运算,可选参数
            .sub(d,**argws)
            类型间减法运算,可选参数
            .mul(d,**argws)
            类型间乘法运算,可选参数
            .div(d,**argws)
            类型间除法运算,可选参数
            fill_value参数替代NaN,替代后参与运算

            比较运算法则

            比较运算:
            • 只能比较相同索引的元素,不进行补齐
            • 二维和一维、一维和零维间为广播运算
            • 采用> < >= <= == != 等符号进行的二元运算产生布尔对象
            比较运算的同维度运算,尺寸要一致,否则报错
            1.2 pandas数据特征分析7.NMR 与 NICS
            Loading...