1 算术运算
- add(other) / sub(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 逻辑运算
2.1 逻辑运算符号
- 例如筛选data[“open”] > 22的日期数据
- data[“open”] > 22返回逻辑结果
data = data.head(10)
data["open"]> 22
结果:
2018-02-27 True
2018-02-26 True
2018-02-23 True
2018-02-22 True
2018-02-14 False
2018-02-13 False
2018-02-12 False
2018-02-09 False
2018-02-08 False
2018-02-07 True
Name: open, dtype: bool
# 逻辑判断的结果可以作为筛选的依据
data[data["open"] > 23].head()
- 完成多个逻辑判断
# 获取开盘价在23-24之间的前5行数据
data[(data["open"] > 23) & (data["open"] < 24)].head()
2.2 逻辑运算函数
- query(expr)
- expr:查询字符串
通过query使得刚才的过程更加方便简单
- expr:查询字符串
data.query("open<24 & open>23").head()
- isin(values)
例如判断’open’是否为23.53和23.85
# 可以指定值进行一个判断,从而进行筛选操作
data[data["open"].isin([23.53, 23.85])]
3 统计运算
3.1 统计函数
Numpy当中已经详细介绍,例如min(最小值), max(最大值), mean(平均值), median(中位数), var(方差), std(标准差),mode(众数)。
对于单个函数去进行统计的时候,坐标轴还是按照默认列“columns” (axis=0, default),如果要对行“index” 需要指定(axis=1)。
data.max(0)
- idxmax()、idxmin()
# 求出最大值的位置
data.idxmax(axis=0)
open 2015-06-15
high 2015-06-10
close 2015-06-12
low 2015-06-12
volume 2017-10-26
price_change 2015-06-09
p_change 2015-08-28
turnover 2017-10-26
my_price_change 2015-07-10
dtype: object
3.2 累计统计函数
函数 | 作用 |
---|---|
cumsum | 计算前1/2/3/…/n个数的和 |
cummax | 计算前1/2/3/…/n个数的最大值 |
cummin | 计算前1/2/3/…/n个数的最小值 |
cumprod | 计算前1/2/3/…/n个数的积 |
import matplotlib.pyplot as plt
import pandas as pd
# 排序之后,进行累计求和
data = data.sort_index()
# 对p_change进行求和
stock_rise = data['p_change']
# 进行累计求和,并plot显示图形
stock_rise.cumsum().plot()
# 需要调用show,才能显示出结果
plt.show()
4 自定义运算
- apply(func, axis=0)
- func:自定义函数
- axis=0:默认是列,axis=1为行进行运算
- 定义一个对列,最大值-最小值的函数
- func:自定义函数
# 获取股票数据中开盘价、闭盘价最大值和最小值的差值
data[['open', 'close']].apply(lambda x: x.max() - x.min(), axis=0)
open 22.74
close 22.85
dtype: float64
5 Pandas画图
pandas.DataFrame.plot
- DataFrame.plot(kind=‘line’)
- kind : str,需要绘制图形的种类
- ‘line’ : line plot (default) 折线图
- ‘bar’ : vertical bar plot 柱状图
- ‘barh’ : horizontal bar plot 横向柱状图
关于“barh”的解释:
http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.plot.barh.html - ‘hist’ : histogram 直方图
- ‘pie’ : pie plot 饼图
- ‘scatter’ : scatter plot 散点图
- kind : str,需要绘制图形的种类
创作不易,白嫖不好,各位的支持和认可,就是我创作的最大动力,我们下篇文章见!
Dragon少年 | 文
如果本篇博客有任何错误,请批评指教,不胜感激 !