2020.7.22 Pandas高级操作

发布于 2020-07-22  42 次阅读


Table of Contents

  • csv,json,html,ms,hdf5,sql等等
  • 常见格式使用
    • csv,hdf,json,mysql ,excel
  • csv 使用

    • pd.read_csv(path_or_buf ) 读取csv
      • path_or_buf 路径或者buffer
      • usecols (读取的列名) 列表形式
    • 数据.to_csv(path_or_buf ,columns,index) 写入csv
      • path_or_buf 路径
      • columns 栏目(列)
      • index 是否需要索引 True 需要
  • hdf5使用

    • pd.read_hdf(path_or_buf ,key,mode)
      • path_or_buf 路径
      • mode : {'r', 'r+', 'a'}, default 'r'
    • 数据.to_hdf(path_or_buf )
      • path_or_buf 路径
    • 注意:读取写入文件的后缀 *.h5
  • json 使用

    • pd.read_json(path,orient)
      • path 字节或者路径
      • orient
        *
      • lines
        • 按照每行读取
        • True 推荐使用 效高低一点
      • typ 默认frame
        • 指定转换成的对象类型series或者dataframe
    • 数据.to_json()
  • 拓展 推荐使用HDF5文件
    • 存储支持压缩
    • 读取,存入效率高
    • 支持跨平台 hadoop
  • Pandas 高级处理 缺失值处理

    • 基础操作
      • np.all()
      • np.any()
      • pd.fillna()
      • pd.dropna()
      • data.replace()
    • 缺失值处理
      • 1.判断缺失值
        • np.any(pd.isnull())
          • np.any(pd.isnull(movie)) # 里面如果有一个缺失值,就返回True
        • np.all(pd.notnull())
          • np.all(pd.notnull(movie)) # 里面如果有一个缺失值,就返回False
      • 2.处理缺失值
        • 数据.dropna()
          • movie.dropna()
        • 数据.fillna()
          • movie[i].fillna(value=movie[i].mean(), inplace=True)
        • 数据.replace()
          • wis.replace(to_replace="?", value=np.NaN)
  • Pandas 高级处理 数据离散化

    • 为什么要数据离散化
    • 什么是数据离散化
      • 把一些数据分到某个区间内,使最后用不同的符号或者数字表达
    • 数据离散化api
      • pd.qcut() -- 把数据大致分为数量相等的基类
      • pd.cut() -- 指定一个分组间隔
      • 数量统计
        • 对象.value_counts()
    • one-hot 编码
      • 介绍(哑变量,热独编码)
        • 把数据展现成0-1形式
      • 使用
        • pd.get_dummies(数据,prefix=“前缀”)
        • 数据必须是cut或qcut之后的数据 (存疑)
          • pandas.core.series.Series类型
  • Pandas 高级处理 合并

    • 介绍
      • 多个表分析 需要合并
    • 使用:
      • pd.concat([数据1,数据2],axis = 1)
        • axis 按行还是按列连接
      • pd.merge()
        • left 左表
        • right 右表
        • on 两个字段
          • inner 运算规则 (相同的展示,重复的就多展示一次)
        • how 连接方式 inner
          • left right inner outer
  • Pandas 高级处理 交叉表

    • 1.什么是交叉表,透视表
      • 探索两列数据之间的关系
    • 2.pd.crosstab()
      • 返回具体数量
    • 3.对象.pivot_table()
      • 返回占比情况
  • Pandas 高级处理 分组和聚合

    • 1.介绍
      *
    • 2.使用
      • 对象.groupby()
        • 参数:as_index – 是否进行索引 默认是
      • 可以对数据多次分组(传递列表数据)
  • 2.扩展延伸知识

    • np.Nan是什么类型
      • float
    • dataframe 属性
      • shape,index,columns,values,tail,head
    • python中的值传递技巧
      • 可以传递数组,可以传递单个值,
      • 可以传递对象,可以传递字符串
      • 需要在函数中判断一下,执行什么操作
    • pandas 索引
      • 就是行名
    • hdf 文件
      • Hierarchical Data Format,可以存储不同类型的图像和数码数据的文件格式,并且可以在不同类型的机器上传输,同时还有统一处理这种文件格式的函数库。大多数普通计算机都支持这种文件格式
    • pandas多维可以拆成series
    • zlib使用
    • 中位数
    • 众数
    • mysql 连接查询

    3.灵感代办

    4.复习内容

    • 创建DataFrame
      • DataFrame类似numpy的二维数组
      • pd.DataFrame(ndarray)
        • 可以是字典{key:[],key1:[]} 不能是常量,只能是列表
      • shape,index,columns,values,T
      • head,tail 获取前几行,后几行

    5.学习成果&问题