开发者学堂课程【Python 数据分析库 Pandas 快速入门:算术运算与逻辑运算】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/607/detail/8853
算术运算与逻辑运算
内容介绍
一、学习目标
二、算术运算
三、逻辑运算
一、学习目标
1.目标
使用 describe 完成综合统计
使用 max 完成最大值计算
使用 min 完成最小值计算
使用 mean 完 成平均值计算
使用 std 完成标准差计算
使用 idxmin、idxmax 完成最大值最小值的索引。使用 cumsum 等实现累计分析
应用逻辑运算符号实现数据的逻辑筛选
应用 isin 实现数据的筛选
应用 query 实现数据的筛选
应用 a dd 等实现数据间的加法运算
应用 appl y 函数实现数据的自定义处理
2.应用
股票每日数据的统计
二、算术运算
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
2.sub(other)
如果想要得到每天的涨跌大小?求出每天 close- open 价格差
#1、筛选两列数据
close = data['close']
open1 = data['open']
# 2、收盘价减去开盘价
data['m_price_change']= close.sub(open1)
data.head()
open high close low volume price_change p_change turnover
2018-02-27 23.53 25.88 24.16 23.53 95578.03 0.63 2.68
2018-02-26 22.80 23.78 23.53 22.80 60985.11 0.69 3.02
2018-02-23 22.88 23.37 22.82 22.71 52914.01 0.54 2.42
2016-02-22 22.25 22.76 22.28 22.02 36105.01 0.36 1.64
2016-82-14 21.49 21.99 21.92 21.48 23331.04 0.44 2.05
三、逻辑运算
1.逻辑运算符号<、>、/、&
1)例如筛选 p_change> 2的日期数据
data['p_change'] > 2返回逻辑结果
2018-02-27 True
2018-02-26 True
2018-02-23 True
2018-02-22 False
2018-02-14 True
#逻辑判断的结果可以作为筛选的依据
data【'p_change'】>2
pen high close low volume price_change p_change turnover
2018-02-27 23.53 25.88 24.16 23.53 95578.03 0.63 2.68
2018-02-26 22.80 23.78 23.53 22.80 60985.11 0.69 3.02
2018-02-23 22.88 23.37 22.82 22.71 52914.01 0.54 2.12
2016-02-14 21.494 21.99 21.92 21.48 23331.04 0.44 2.05
2018-02-12 20.70 21.40 21.19 20.63 32445.39 0.82 4.03
2)完成一个多个逻辑判断, 筛选 p_change>2并且 open >15
data[(data['p_change'】> 2) & (data['open']>15)]
open high close low volume price_change p_change turnover
2017-11-14 28.00 29.89 29.34 27.68 243773.23 1.10 3.90
2017-10-31 32.62 35.22 34.44 32.20 361660.88 2.38 7.42
2017-10-27 31.45 33.20 33.11 31.45 333824.31 0.70 2.16
2017-10-26 29.30 32.70 32.41 28.92-501915.41 2.63 9.01
2.逻辑运算函数
1)query(expr)
expr:查询字符串
通过 query 使得刚才的过程更加方便简单
data.query("p_change > 2 & turnover > 15")
2)isin(values)
例如判断 'turnover'是否为4.19,2.39
#可以指定值进行一个判断,从而进行筛选操作
data[data['turnover'].isin([4.19, 2.39])]
open high close low vo lume price_change P_change turnove
2018-02-27 23.53 25.88 24.16 23.53 95578.03 0.63 2.68
2017-07-25 23.07 24.20 23.70 22.64 167489.48 0.67 2.91
2016-09-28 19.88 20.98 20.86 19.71 95580.75 0.98 4.93
2015-04-07 16,54 17.98 17,54 16.50 122471.85 0.88 5.28