Python之Pandas超详细入门教程 -- 第三章 Pandas中DataFrame运算【基础篇】

it2023-03-19  73

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使得刚才的过程更加方便简单 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为行进行运算 定义一个对列,最大值-最小值的函数 # 获取股票数据中开盘价、闭盘价最大值和最小值的差值 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 散点图

创作不易,白嫖不好,各位的支持和认可,就是我创作的最大动力,我们下篇文章见!

Dragon少年 | 文

如果本篇博客有任何错误,请批评指教,不胜感激 !

最新回复(0)