没什么事情做,学学data processing
基本介绍
主要包括:
1.科学计算模块:numpy 和 pandas
2.数据可视化;matplotlib
3.网页爬虫:https://blog.csdn.net/wacebb/article/details/108060324
pandas基于numpy,采用矩阵运算,比python自带的列表和字典速度快。
安装就不多说了,pip3或者conda
1.基本信息
DataProcessing的data指的是structure data。比如:tabular,matrices,SQL相关以及time series。
python 是一种interpreted(解释性)语言,虽然可能会比c++等慢一点,但是因为python的强大以及通俗易懂,最近几年越来越流行。As programmer time is often more valuable than CPU time。能够为编程者节省时间比给CPU节省时间更加有意义。
2.Numpy
采用ndarry-快速又有效。
可以进行复杂的数学操作。
支持傅里叶变换以及线性代数和随机数相关工具。
多重接口和扩展,使c++能够轻松的连接。
3.Pandas
提供高级数据结构和功能,用于快速处理结构性数据和表格数据等。
4.Matplotlib
用于图形绘制以及二维数据的可视化。
5.Scipy
包括很多科学计算。如下图:
6.Scikit-learn
主要用于机器学习,包含大量机器学习的工具:
分类:SVM,随机森林,逻辑回归等
回归:Lasso等
聚类:k均值等
降维:PCA,特征提取
模式选择:格搜索
预处理:特征提取,正则化等。
7.安装各种包的方法
一般是两种方法:pip和conda,如果有conda的话尽量用conda,但是目前清华镜像和别的镜像有一些包已经不支持了。
安装:pip3 install xxxx =conda install xxx
更新:pip3 install --upgrade xxxx = conda update xxxx
8.导入
尽量不要导入一个包里所有的东西,会浪费内存
import numpy as np
9.绘图
import numpy as np
import matplotlib.pyplot as plt
plt.plot(np.random.randn(50).cumsom())
plt.show()
10.注释
两种方法
#注释行
‘’‘ ’‘’二者之间的将全部被注释
11.类型
type(a)
isinstance(a,(int,str))
12.range
list(range(0,20,2))
13.tuple
tuple用()来表示,元素不可以修改
14.选择变量的某个元素
a=(4,‘ggdf’,9,10)
a[3]
a[3]=9
15.交换变量值
不需要添加中间变量直接
a,b=b,a
16.List
用[]来表示,元素可以修改
17.变量生成()
选择某个值用[],但是在生成或者套用其他函数的时候是用()
18.Slice
一般来说三种形式
正着取
隔着取
反着取
19.enumerate
在迭代的时候可以获取标签
20.Sets
用{}创建,但是不可以有重复元素
21.返回多个值
python可以返回多个值
22.读取以及保存文件
一般常用pandas来读取以及对文件进行其他操作,直接用python自带的比较少
读文件,操作完需要关闭(或者用with形式)
path=‘*******’
f=open(path,'r+')
f.read(10)
f.close()
with形式
with open(path) as f:
chars=f.read(10)
23.ndarrdy
这是numpy里的一种数据类型或者说对象
24.random生成随机数:
data=np.random.randn(2,3)#with mean 0 and standard deviation 1
data=np.random.rand(2,3)#uniform distribution
data=np.random.randint(0,1)#Draw random integers from a given low-to-high range,包括0和1
25.arange生成有序数列
np.arange(15).reshape(3,5)
np.arange(-5,5,0.1)
26.生成全0/1矩阵
np.ones((2,3))
np.zeros((4,7))
27.数据类型转换
arr.astype(np.float64)
28.条件逻辑
np.where(arr>0,2,-2)相当于 2 if arr>0 else -2
29.排序
np.sort()/np.sort(1)