本书为初学者提供了一条学习Python编程语言进行数据处理和分析的捷径,涵盖基础语法到实际案例应用。
《Python数据分析基础教程》
一、导入常用的numpy模块:
- 使用`from numpy import *`可以不通过前缀直接引用numpy中的属性XXX。
- 或者使用`import numpy as np`,这样在调用时需要加上np.XXX。
二、常用函数及转换关系:
- `np.arange()` 对应 Python 中的 range() 函数;
- `np.array()` 转换列表为数组;
- `np.dtype()` 获取数据类型等同于Python中的type();
- 使用tolist()将numpy数组转成python列表。
注意:当用list作为某些函数参数时,会出现警告信息:“Passing 1d arrays as data is deprecated in 0.17 and will raise ValueError in 0.19.” 这是因为输入的应该是数组而输入的是一个列表。
三、NumPy中数组操作:
- 数组组合:使用`hstack((a,b))`或 `concatenate((a,b),axis=1)` 水平合并;用`vstack((a,b))` 或者 `concatenate((a,b), axis = 0)` 垂直合并。
- 分割数组:可以利用hsplit, vsplit或者split函数进行水平和垂直分割。
四、文件处理——os库:
1. os.system() 执行shell命令
2. os.listdir(path) 获取目录内容
3. os.mkdir(path) 创建新目录
4. os.rmdir(path) 删除空目录
5. 判断是否为目录或文件:使用`isdir()` 或者 `isfile()`
6. 移除单个文件: 使用os.remove()
7. 重命名文件或者目录:利用os.rename(old, new)
8. 输出当前使用的平台类型,如Windows是nt,Linux/Unix是posix
9. os.path.join() 组合路径与文件名
10. 分离路径的目录和文件名称: 使用`split()`
11. 分割文件名及其扩展名:使用os.path.splitext()
12. 获取指定文件大小:通过调用getsize(name)
14. 获得当前工作目录的位置:利用abspath()函数
15. 返回一个路径的目录部分,可以使用dirname()
五、绘图——matplotlib库:
- matplotlib.pyplot模块用于创建图表。例如,绘制散点图时需要先导入numpy和matplotlib.pyplot。
```python
import numpy as np
import matplotlib.pyplot as plt
fig=plt.figure() # 创建figure对象
ax=fig.add_subplot(111) # 添加一个子图
x1=[2, 2.6, 2.8]
y1=[2, 2.4, 3]
x2=[4,5 ,6]
y2=[1.3, 2, 1.2]
ax.scatter(x1,y1,s=20,c=red) # 绘制第一个散点图
ax.scatter(x2,y2,s=50,c=blue) # 绘制第二个散点图
plt.show() # 显示图表
```
六、数据分析——sklearn库:
- `from sklearn import preprocessing` 用于数据预处理,例如归一化、标准化和正则化。
- 正则化的例子:使用preprocessing.normalize(features, norm=l2)