4 DataFrame运算

学习目标

  • 目标

    • 应用add等实现数据间的加、减法运算

    • 应用逻辑运算符号实现数据的逻辑筛选

    • 应用isin, query实现数据的筛选

    • 使用describe完成综合统计

    • 使用max, min, mean, std完成统计计算

    • 使用idxmin、idxmax完成最大值最小值的索引

    • 使用cumsum等实现累计分析

    • 应用apply函数实现数据的自定义处理


1 算术运算

  • add(other)

比如进行数学运算加上具体的一个数字

data['open'].add(1)

2018-02-27    24.53
2018-02-26    23.80
2018-02-23    23.88
2018-02-22    23.25
2018-02-14    22.49
  • sub(other)'

2 逻辑运算

2.1 逻辑运算符号

  • 例如筛选data["open"] > 23的日期数据

    • data["open"] > 23返回逻辑结果

  • 完成多个逻辑判断,

2.2 逻辑运算函数

  • query(expr)

    • expr:查询字符串

通过query使得刚才的过程更加方便简单

  • isin(values)

例如判断'open'是否为23.53和23.85

3 统计运算

3.1 describe

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

3.2 统计函数

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

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

3.3 累计统计函数

函数
作用

cumsum

计算前1/2/3/…/n个数的和

cummax

计算前1/2/3/…/n个数的最大值

cummin

计算前1/2/3/…/n个数的最小值

cumprod

计算前1/2/3/…/n个数的积

那么这些累计统计函数怎么用?

以上这些函数可以对series和dataframe操作

这里我们按照时间的从前往后来进行累计

  • 排序

  • 对p_change进行求和

那么如何让这个连续求和的结果更好的显示呢?

如果要使用plot函数,需要导入matplotlib.

关于plot,稍后会介绍API的选择

4 自定义运算

  • apply(func, axis=0)

    • func:自定义函数

    • axis=0:默认是列,axis=1为行进行运算

  • 定义一个对列,最大值-最小值的函数

Last updated