一、算术运算
1、add()
加法运算
2、sub()
减法运算
3、想要得到每天的涨跌幅大小,求出每天close-open价格差
# 算术运算
close = data['close']
open1 = data['open']
# 收盘价减去开盘价
data['m_price_change'] = close.sub(open1)
data.head()
二、逻辑运算
1、逻辑运算符号<、>、|、&
# 逻辑运算
# 筛选p_change > 2的日期数据
data['p_change'] > 2
# 筛选满足p_change > 2的所有的数据
data[data['p_change'] > 2]
# 完成一个多个逻辑判断,筛选p_change > 2并且low > 15
data[(data['p_change'] > 2) & (data['low'] > 15)]
2、逻辑运算函数
(1)query(expr)
说明:
expr:查询字符串
(2)isin(values)
说明:
指定值进行判断
# query使得上面的筛选更加方便,填字符串就可以了
data.query("p_change > 2 & low > 15")
# 判断turnover是否为4.19、2.39
data[data['turnover'].isin([4.19, 2.39])]
三、统计运算
1、describe()
计算平均值、标准差、最大值、最小值。。。
count:有多少个数量
mean:平均值
std:标准差
min:最小值
max:最大值
25%、50%、75%:分位数
2、统计函数
和numpy中的统计函数类似
sum():求和
mean():求平均值
median():中位数
min():最小值
max():最大值
mode():求众数,就是数据集中出现次数最多的数值
abs():求绝对值
prod():计算数据集中所有元素的积
std():求标准差
var():求方差
idxmax():沿列轴查找最大值的索引
idxmin():沿列轴查找最小值的索引
3、累计统计函数
cumsum:计算前1/2/3/.../n个数的和
cummax:计算前1/2/3/.../n个数的最大值
cummin:计算前1/2/3/.../n个数的最小值
cumprod:计算前1/2/3/.../n个数的积
# 统计运算
data.describe()
data.idxmax()
# 累计统计函数
# 直接用pandas画图
data['p_change'].sort_index().cumsum().plot()
四、自定义运算
1、apply(func, axis=0)
说明:
func:自定义函数
axis=0:默认是列,axis=1为行
2、定义一个对列求最大值减最小值的函数
在python中有两种函数,一种是def定义的函数,另一种是lambda函数,也就是大家常说的匿名函数(表达式)
# 自定义运算
data[['open','close']].apply(lambda x: x.max() - x.min(), axis=0)