数据分析之Pandas(四)DataFrame运算

版权声明:版权声明: 笔者博客文章主要用来作为学习笔记使用,内容大部分来自于自互联网,并加以归档整理或修改,以方便学习查询使用,只有少许原创,如有侵权,请联系博主删除! https://blog.csdn.net/qq_42642945/article/details/88636151

本章内容

  • 算术运算
  • 逻辑运算
  • 统计运算
  • 累计统计函数
  • 自定义运算

第一节 算术运算

  • add(other)

比如进行数学运算加上具体的一个数字
在这里插入图片描述

  • sub(other)

如果想要得到每天的涨跌大小?求出每天 close- open价格差
在这里插入图片描述

第二节 逻辑运算

逻辑运算符号<、 >、|、 &

  • 逻辑运算类型:>, >=, <, <=, ==, !=
  • 复合逻辑运算:&, |, ~ (与,或,非)

例如筛选p_change > 2的日期数据
data[‘p_change’] > 2返回逻辑结果
在这里插入图片描述
逻辑判断的结果可以作为筛选的依据
在这里插入图片描述
完成一个多个逻辑判断, 筛选p_change > 2并且open > 15
在这里插入图片描述
逻辑运算函数
data.query() <-- 直接得出结果数据
data.turnover.isin([4.19, 2.39]) <-- 生成bool系列,还需要索引才能得出数据

  • query(expr)
    • expr:查询字符串

通过query使得刚才的过程更加方便简单
在这里插入图片描述

  • isin(values)

例如判断’turnover’是否为9.05, 8.45
可以指定值进行一个判断,从而进行筛选操作
在这里插入图片描述

第三节 统计运算

describe()函数可以方便地查看每一个列的常见统计量

  • min/max/mean/median/std/var
  • idxmax/idxmin --> argmax/argmin
  • data.mean(axis=0), 通过axis参数控制在行上还是列上计算均值
  • 累计统计函数:
    • cummulative(累计)
    • cumsum
    • cumprod
    • cummax
    • cummin

要点:某一个位置的值来自从最开头到当前位置的数据的统计量

describe()

综合分析: 能够直接得出很多统计结果,count, mean, std, min, max 等

# 计算平均值、标准差、最大值、最小值
data.describe()

在这里插入图片描述
count统计非空数量

扫描二维码关注公众号,回复: 5600819 查看本文章

统计函数

Numpy当中已经详细介绍,在这里我们演示min(最小值), max(最大值), mean(平均值), median(中位数), var(方差), std(标准差)结果,

count Number of non-NA observations
sum Sum of values 求和
mean Mean of values 平均值
median Arithmetic median of values 中值
min Minimum 最小值
max Maximum 最大值
mode Mode
abs Absolute Value 绝对值
prod Product of values???
std Bessel-corrected sample standard deviation 标准差
var Unbiased variance 无偏方差,均方差
idxmax compute the index labels with the maximum 索引最大值
idxmin compute the index labels with the minimum 索引最小值

对于单个函数去进行统计的时候,坐标轴还是按照这些默认为“columns” (axis=0, default),如果要对行“index” 需要指定(axis=1)

  • max()、min()
    在这里插入图片描述
  • std()、var()
    在这里插入图片描述
  • median():中位数
    中位数为将数据从小到大排列,在最中间的那个数为中位数。如果没有中间数,取中间两个数的平均值。
    在这里插入图片描述
  • idxmax()、idxmin()
    在这里插入图片描述

第四节 累计统计函数

在这里插入图片描述
那么这些累计统计函数怎么用?
在这里插入图片描述
在这里插入图片描述
以上这些函数可以对series和dataframe操作
这里我们按照时间的从前往后来进行累计

  • 排序
    在这里插入图片描述
  • 对p_change进行累计求和
    在这里插入图片描述在这里插入图片描述
    那么如何让这个连续求和的结果更好的显示呢?
    在这里插入图片描述
    如果要使用plot函数,需要导入matplotlib.
    在这里插入图片描述
    关于plot,稍后会介绍API的选择

第五节 自定义运算

  • apply(func, axis=0)
    • func:自定义函数
    • axis=0:默认是列,axis=1为行进行运算
  • 定义一个对列,最大值-最小值的函数
data[['open', 'close']].apply(lambda x: x.max() - x.min(), axis=0)

输出:

open     22.74
close    22.85
dtype: float64

版权声明:
笔者博客文章主要用来作为学习笔记使用,内容大部分整理自互联网,如有侵权,请联系博主删除!

猜你喜欢

转载自blog.csdn.net/qq_42642945/article/details/88636151