本章内容
- 算术运算
- 逻辑运算
- 统计运算
- 累计统计函数
- 自定义运算
第一节 算术运算
- 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统计非空数量
统计函数
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
版权声明:
笔者博客文章主要用来作为学习笔记使用,内容大部分整理自互联网,如有侵权,请联系博主删除!