数据分析基础之《pandas(3)—DataFrame运算》

一、算术运算

1、add()
加法运算

2、sub()
减法运算

3、想要得到每天的涨跌幅大小,求出每天close-open价格差

# 算术运算
close = data['close']
open1 = data['open']
# 收盘价减去开盘价
data['m_price_change'] = close.sub(open1)
data.head()

数据分析基础之《pandas(3)—DataFrame运算》_第1张图片

二、逻辑运算

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

数据分析基础之《pandas(3)—DataFrame运算》_第2张图片

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

数据分析基础之《pandas(3)—DataFrame运算》_第3张图片

三、统计运算

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

数据分析基础之《pandas(3)—DataFrame运算》_第4张图片

四、自定义运算

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)

你可能感兴趣的:(机器学习,数据分析)