python必知必会的数据处理知识2(pandas))

本节重点是统计运算。通常用pandas做事情,涉及数值运算的少。

一、数值运算

数值运算只对数值列起作用。

1. +,-,x,/,//,%,**

可以直接使用 +,也可以使用函数add()
DataFrame.add(other, axis='columns', fill_value=None)

  • other:另一个DataFrame或Series;
  • axis:如果other是Series,指定Series的索引去和DataFrame的行匹配,还是和列匹配(+号是默认和列匹配);
  • fill_value:这个参数是指两个DataFrame只有一个值缺失的情况,缺失的值怎么处理。两者都缺失,那么就是NaN。

其余的操作:-, ×, /, //,%, **
相应的函数形式:sub(), mul(), div(), floordiv(), mod(), pow()
这几个操作和+ 以及add()完全相同。

此外,还有divmod()函数作为python的内建函数,支持对Series进行逐个元素操作。

d,r = divmod(s1, 2)

将s1用2做除法,商是d,余数是r

2. 本地一元转换

  • abs()
    调用方法很简单:df.abs()

  • cumxxx()
    累计运算,从开始到当前数据结束获取一个值。 xxx可以是 max, min, sum, prod(连乘)
    DataFrame.cumxxx(axis='index')
    其中axis可以使index或者columns

  • clip()
    DataFrame.clip(lower=None, upper=None)
    将数据裁剪到一定范围内

  • rank()
    将数据排序,输出为对应值在排序中的序号
    DataFrame.rank(axis=0, method='average', ascending=True, pct=False)

    • axis:0(‘index’)-按列方向,1(‘columns’)-按行方向
    • method:对于值相同的数怎么标记顺序,
      • ‘average’: 先排序,值相同的序号统一为平均序号
      • ‘min’: 先排序,值相同的序号统一为最小序号
      • ‘max’: 先排序,值相同的序号统一为最大序号
      • ‘first’:先排序,值相同的序号按照出现次序排
      • ‘dense’:值相同为一组,按照组值排序,组内取相同次序,和min不同,中间没有跳跃
    • ascending:True or False,升序还是降序;
    • pct:percent,按照百分比显示,将显示的次序除以列、或行元素个数。
  • round()
    Series.round(decimals=0)

    • decimals:控制小数位数,小数点后几位,0意思是只取整数

二、数值统计运算

这些统计操作,只对元素类型为数值型的列有效,返回以列索引或行索引为索引的Series

  • df.sum() 和

  • df.mean() 均值

  • df.std() 标准差

  • df.var() 方差

  • df.min() 最小

  • df.max() 最大

  • df.median() 中值

  • cov() 协方差

  • corr() 相关系数

  • corrwith() 对不同DF进行运算
    DataFrame.corrwith(other, axis=0, drop=False, method='pearson')

    • other:另一个DataFrame或Series
    • axis:‘index or 0’或’columns or 1’,index,计算列相关性。columns,计算行相关性。默认为 index。
    • drop:是否丢掉axis对应的索引取交时被过滤的了那些索引
    • method:计算相关性的方法
  • count() 查看非NaN元素个数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值