zoukankan      html  css  js  c++  java
  • pandas 的四种常用函数

     

     

    1. pd.concat

    • pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False,
      keys=None, levels=None, names=None, verify_integrity=False, sort=None, copy=True)

    obj : 参与合并的对象,如:[df1, df2]
    axis : 合并方向
    join : 合并方式,outer 为外链接,取交集
    join_axes : 设置需要显示的列名
    ignore_index: 是否忽略原来DataFrame/Series 对象的索引,重新排列
    keys: 为数据源设置多级索引标签
    levels :如果设置keys的话, 指定用作层次化索引各级别(内层索引)上的索引
    names:用于创建分层级别的名称,如果设置keys或levels的话
    verify_integrity: 检查是否出现重复索引,引发异常

    2.pd.merge

    数据连接的方式

      1. 一对一连接
        df1, df2的共同列(参与合并的键)无重复
      1. 多对一连接
        df1, df2的共同列在df1中有重复,在df2中无重复
      1. 多对多连接
        df1, df2的共同列在两者中都有重复
    • pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=False, suffixes=('_x', '_y'), copy=True, indicator=False, validate=None)

    left:参与合并的左侧DataFrame
    right:参与合并的右侧DataFrame
    how:连接方式:‘inner’(默认,交集);还有,‘outer’、‘left’、‘right’
    on:用于连接的列名,必须同时存在于左右两个DataFrame对象中,如果位指定,则以left和right列名的交集作为连接键
    left_on:左侧DataFarme中用作连接键的列
    right_on:右侧DataFarme中用作连接键的列
    left_index:将左侧的行索引用作其连接键
    right_index: 将右侧的行索引用作其连接键
    sort:根据连接键对合并后的数据进行排序,默认为True。有时在处理大数据集时,禁用该选项可获得更好的性能
    suffixes:字符串值元组,用于追加到重叠列名的末尾,默认为(‘_x’,‘_y’).例如,左右两个DataFrame对象都有‘data’,则结果中就会出现‘data_x’,‘data_y’
    copy:设置为False,可以在某些特殊情况下避免将数据复制到结果数据结构中。默认总是赋值

    3. pd.groupby

    • groupby(*args, **kwargs)

    用法入门比较简单, 前人的博客写的蛮详尽了
    Pandas详解十五之利用GroupBy技术进行分组

    补充几点:

    1. 可以使用字典或Series将索引映射到分组名称
     
    用字典或Series将索引映射到分组名称.png
    2.也可以将任意python函数传入groupby,函数映射到索引
     
    传入任意python函数.png
    3.任意之前有效的键都可以组合起来分组,从而返回一个多级索引的分组结果
     
    传入多个用于分组的键.png

    4. pd.pivot_table

    • DataFrame.pivot_table(data, values=None, index=None, columns=None,
      aggfunc='mean', fill_value=None, margins=False, dropna=True, margins_name='All')

    data: 用于制作数据透视表的 DataFrame的某列数据,输入列名即可
    index: 行分组标签
    columns: 列分组标签
    aggfunc: 汇总计算方法,默认为(mean) 可以用字典为不同的列指定不同的累计函数,此时data可以缺失
    fill_value:填充缺失值
    dropna: 剔除缺失值
    margins: 是否对边际进行aggfunc汇总
    margins_name: 边际行/列的名称

  • 相关阅读:
    Linux之RPM 软件包管理
    软件开发模型之优缺点
    软件开发模型之迭代模型
    软件工程之软件开发模型类型
    软件开发模型之边做边改模型
    软件开发模型之螺旋模型
    软件开发模型之快速原型模型
    软件工程之软件开发模型介绍和选择
    卡内基的沟通原则
    软件开发模型之增量模型
  • 原文地址:https://www.cnblogs.com/bbgoal/p/12334359.html
Copyright © 2011-2022 走看看