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

时间:2024-03-27 22:26:37

本章内容

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

第一节 算术运算

  • add(other)

比如进行数学运算加上具体的一个数字
数据分析之Pandas(四)DataFrame运算

  • sub(other)

如果想要得到每天的涨跌大小?求出每天 close- open价格差
数据分析之Pandas(四)DataFrame运算

第二节 逻辑运算

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

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

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

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

通过query使得刚才的过程更加方便简单
数据分析之Pandas(四)DataFrame运算

  • isin(values)

例如判断’turnover’是否为9.05, 8.45
可以指定值进行一个判断,从而进行筛选操作
数据分析之Pandas(四)DataFrame运算

第三节 统计运算

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()

数据分析之Pandas(四)DataFrame运算
count统计非空数量

统计函数

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()
    数据分析之Pandas(四)DataFrame运算
  • std()、var()
    数据分析之Pandas(四)DataFrame运算
  • median():中位数
    中位数为将数据从小到大排列,在最中间的那个数为中位数。如果没有中间数,取中间两个数的平均值。
    数据分析之Pandas(四)DataFrame运算
  • idxmax()、idxmin()
    数据分析之Pandas(四)DataFrame运算

第四节 累计统计函数

数据分析之Pandas(四)DataFrame运算
那么这些累计统计函数怎么用?
数据分析之Pandas(四)DataFrame运算
数据分析之Pandas(四)DataFrame运算
以上这些函数可以对series和dataframe操作
这里我们按照时间的从前往后来进行累计

  • 排序
    数据分析之Pandas(四)DataFrame运算
  • 对p_change进行累计求和
    数据分析之Pandas(四)DataFrame运算数据分析之Pandas(四)DataFrame运算
    那么如何让这个连续求和的结果更好的显示呢?
    数据分析之Pandas(四)DataFrame运算
    如果要使用plot函数,需要导入matplotlib.
    数据分析之Pandas(四)DataFrame运算
    关于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

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