Pandas
- 什么是Pandas
Pandas是python中分析结构化数据的工具集。其基础是numpy——高性能矩阵运算;图形库matplotlib——提供数据可视化。 - Pandas能做什么
pandas可以进行结构化数据分析,比如进行数据挖掘。
Ipython开发环境搭建
https://www.python.org/downloads/ (https://www.python.org/downloads/)
首先需要下载python的安装包,安装python(3.x版本都可以)
接着在http://jupyter.org/ (http://jupyter.org/)中下载开发需要的库和包,也可以通过命令行进行安装:
pip install jupyter
pip install numpy
pip install matplotlib
Windows需要额外安装 pyreadline: pip install pyreadline
Ipython技巧
python命令行与ipython命令行的区别:
- 显示的数据可读性更强
- ipython的命令行有命令补全的功能
- ipython命令属于shell命令
大部分直接可工作cd,ls,pwd
少部分可以在前面加上!号:!rename(重命名) - 魔术命令
%run命令:执行程序
%timeit命名:计时工具
%quickref命令:显示快速参考文档
%magic命令:显示魔术命令列表和文档
一些常用命令
!echo是指直接执行shell中的命令
a = np.random.randn(100,100)#创建100*100的矩阵
%timeit a.dot(a)#timeit查看代码执行实时效率,这里执行的操作是点乘
ipython notebook
在web上进行探索性编程,内联图片显示。
- web上的ipython
- 显示内联图片
- 导出数据和分析过程
%pwd可以查看当前文件的目录
os.listdir?可以查看ipython的帮助文档
Pandas快速入门
可以通过网站10 Minutes to pandas
http://pandas.pydata.org/pandas-docs/stable/10min.html 来了解和学习。
numpy
numpy是高性能科学计算和数据分析的基础包,是面向数组的思维模式。pandas就是在numpy的基础上发展而来的。
ndarray
- 是多维数组
- 是关于多维数组的运算
创建
numpy创建一维数组
numpy创建二维数组
可以看到,不管是在一维数组或是二维数组中,数组元素的修改都可以直接按照索引找到并赋值,即可修改。
还有另一种创建数组的方式:
numpy中的reshape函数没有copy数据,只是修改了数据的视图:
data和data2是视图不同的两个数组,如果修改data,data2中的数据也会发生改变,因为数据不是copy的,而只是引用的。
由以上测试可知,reshape函数可以返回指定维度的数组,但是数据是引用的而不是copy的。
内置函数创建特殊数组
第一个参数表示矩阵中元组的个数。zeros函数表示生成一个全为0的矩阵。
创建一个三维数组,且数组元素全为1:
创建对角数组
reshape将数组转换成我们需要的数组np.arange(16).reshape(4,4)
,将从0到15元素组成的序列转换成4x4的一个数组。
数据索引
可以通过下标索引直接对数组元素进行赋值:
二维数组的索引
想要访问数组的列,就需要用另一种表示
data[:.2:4]#打印4x4矩阵中下标为2开始到4之前的列元素
data[1:3,2:$]#打印矩阵中下标1开始到下标3之前且下标2开始到下标4之前的行列元素
直接访问数组元素
布尔类型访问矩阵
上述是分解写法,还可以写作:
data[data>10]
将数组中的偶数元素,构成新的数组
矩阵内积
x = np.arange(1,5).reshape(2,2)
y = np.arange(5.9).reshape(2,2)
x.dot(y)#矩阵内积
x*y#矩阵逐个元素之间的乘法
x/y#矩阵除法
y = np.sin(x)#可以画出xy的图像
np.linespace(1,10)#linespace从区间中去划分
x = np.linespace(0,2*np.pi,num = 50)#可以指定分为几等份