1. Pandas的基础
1.1 Pandas的介绍
- 专门用于数据挖掘的开源python库
- 以Numpy为基础,借力Numpy模块在计算方面性能高的优势
- 基于matplotlib,能够简便的画图
- 独特的数据结构
1.2 为什么使用Pandas
- 增强图表可读性
- 便捷的数据处理能力
- 读取文件方便
- 封装了Matplotlib、Numpy的画图和计算
2. Pandas数据结构
Pandas中一共有三种数据结构,分别为:Series、DataFrame和MultiIndex(老版本中叫Panel )。 其中Series是一维数据结构,DataFrame是二维的表格型数据结构,MultiIndex是三维的数据结构。
| | |
---|
Series | DataFrame | MultiIndex | Series是一维数据结构 | DataFrame是二维的表格型数据结构 | MultiIndex是三维的数据结构 |
2.1 Series
Series是一个类似于一维数组的数据结构,它能够保存任何类型的数据,比如整数、字符串、浮点数等,主要由一组数据和与之相关的索引两 部分构成。
1. Series的创建
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210706121028297.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NzU5NjY0,size_16,color_FFFFFF,t_70)
2. serise的属性
![在这里插入图片描述](https://img-blog.csdnimg.cn/2021070612105160.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NzU5NjY0,size_16,color_FFFFFF,t_70)
2.2 DataFrame
1 DataFrame的创建
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210706121152132.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NzU5NjY0,size_16,color_FFFFFF,t_70)
2 DataFeam的属性
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210706121321377.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NzU5NjY0,size_16,color_FFFFFF,t_70)
3. DataFrame索引值的设置
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210706121407339.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NzU5NjY0,size_16,color_FFFFFF,t_70)
2.3 MultiIndex与Panel
1. MultiIndex
MultiIndex是三维的数据结构; 多级索引(也称层次化索引)是pandas的重要功能,可以在Series、DataFrame对象上拥有2个以及2个以上的索引。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210706121514493.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NzU5NjY0,size_16,color_FFFFFF,t_70)
2. Panel
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210706121540838.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NzU5NjY0,size_16,color_FFFFFF,t_70)
3.基本数据操作
- 读取文件
data=pd.read_csv("./data/stock_day.csv") - 删除一些列,让数据更简单些,再去做后面的操作
data = data.drop(["ma5","ma10","ma20","v_ma5","v_ma10","v_ma20"], axis=1)
3.1 索引操作
- 默认的索引操作必须事先列后行
- 使用loc:只能指定行列索引的名字
- 使用iloc可以通过索引的下标去获取
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210706180141458.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NzU5NjY0,size_16,color_FFFFFF,t_70)
3.2 赋值操作
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210706180236402.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NzU5NjY0,size_16,color_FFFFFF,t_70)
3.3 排序
1. DataFrame排序
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210706180315792.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NzU5NjY0,size_16,color_FFFFFF,t_70)
2. series排序
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210706180406529.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NzU5NjY0,size_16,color_FFFFFF,t_70)
3.4. 总结
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210706180542927.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NzU5NjY0,size_16,color_FFFFFF,t_70)
4. DataFrame运算
4.1 算术运算
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210707101324806.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NzU5NjY0,size_16,color_FFFFFF,t_70)
4.2 逻辑运算
![在这里插入图片描述](https://img-blog.csdnimg.cn/2021070710135497.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NzU5NjY0,size_16,color_FFFFFF,t_70)
4.3 统计运算
- Numpy当中已经详细介绍,在这里我们演示min(最小值), max(最大值), mean(平均值), median(中位数), var(方差), std(标准差),mode(众数)结果:
- 对于单个函数去进行统计的时候,坐标轴还是按照默认列“columns” (axis=0, default),如果要对行“index” 需要指定(axis=1)
- 方差 data.var(0) 标准差 data.std(0)
- median():中位数
- 求出最大值的位置idxmax()、求出最小值的位置idxmin()
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210707101731478.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NzU5NjY0,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/2021070710143253.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NzU5NjY0,size_16,color_FFFFFF,t_70)
4.4 自定义运算
apply(func, axis=0) func:自定义函数 axis=0:默认是列,axis=1为行进行运算 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210707101450307.png)
5. Pandas画图
关于“barh”的解释: 更多细节 pandas.Series.plot
|