1.python数据分析概述
1.数据分析的含义与目标
统计分析方法,提取有用的信息
2.Python与数据分析:见解,开发效率高,运行速度慢,胶水特性
3.python数据分析大家庭
numpy:数据结构基础
scipy:强大的科学计算方法(矩阵分析,信号分析,数理分析)
matplotlib:丰富的可视化套件
pandas:基础数据分析套件
scikit-learn:强大的数据分析建模库
keras:人工神经网络
4.Anaconda
2.python数据分析基础技术
1.numpy
关键词:开元,数据计算扩展
功能:ndarray,多位操作,线性代数
官网:www.numpy.org
1.ndarray:
import numpy
lst=[[1,3,5],[2,4,6]]
np_list = numpy.array(lst)
print(type(np_list)
np_list = numpy.array(lst, dtype=numpy.float)
print(np_list.shape)#(2L,3L),2行3列
print(np_list.ndim)#2 维度
print(np_list.dtype)
print(np_list.itemsize)#8每个元素的大小,float是8
print(np_list.size)#6 元素个数
2.常用的数组
print(numpy.zeros([2,4])) #[[0,0,0,0],[0,0,0,0]]
print(numpy.ones([1,5]) #[[1,1,1,1,1]]
print(numpy.random.rand(2,4))#2行4列随机数
print(numpy.random.rand())#随机数
print(numpy.random.randint(1,10))#1到10之间的随机整数
print(numpy.random.randn())#标准正态分布?
print(numpy.random.choice([10,20]))#智能在给定的数字里面随机
print(numpy.random.beta(1,2,3))#beta分布????
3.numpy的常用操作
numpy.arrage(1,11)#1到10的一维数组
numpy.arrage(1,11).reshape([2,5]#1到10的,两行数组
...太多了,可以参考https://blog.csdn.net/luanpeng825485697/article/details/78520798
4.矩阵操作与线性方程
from numpy.linalg import *
#单位矩阵
[[1,0,0],
[0,1,0],
[0,0,1]]
numpy.eye(3)
inv(lst)#逆矩阵
lst.transport()#转置矩阵
det(lst)#
eig(lst)#特征值,特征向量
solve(lst,lst2)#求解
5.其他应用
fft
coef
poly#
2.matplotlib:丰富的可视化套件
关键词: 绘图库
官网: matplotlib.org/
1.基本线图绘制
import matplotlib.pyplot as plt
x = numpy.inspace(-numpy.pi,numpy.pi,256,endpoint=True)#是否包含最后一个点
c,s = numpy.cos(x),numpy.sin(x)
plt.figure(1)#第一个图
plt.plot(x,c,color="blue",linewidth=1.0,label="COS")#自变量,因变量,正弦
plt.plot(x,s,"r*",label="SIN")#r*虚线
plt.title("COS SIN")
#画横纵轴(本身就有,此处是平移轴)
ax = plt.gcr()#轴编辑器
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.spines['left'].set_color(('data',0))
ax.spines['bottom'].set_color(('data',0))
plt.show()
还有放大,填充...等等,可参考https://blog.csdn.net/luanpeng825485697/article/details/78508819
2.其他类型图标
#散点图
#柱状图
#饼图...
3.scipy:
关键词:数值计算库
官网:www.scipy.org
1.积分
from scipy.integrate import quad,dblquad
quad(lambda x:numpy.exp(-x),0,np.inf))#积分运算,返回值和误差范围
dblquad(lambda x:numpy.exp(-x*t)/t**3,0,np.inf,lambda x:1,lambda x:np.inf))
...
2.优化器Optimizar
from scipy.optimizar import minimize
...
3.插值 Interpolation
from pylab import *
4.线性计算与矩阵分解 Linear
from scipy import linalg as lg
...
5.others
4.pandas:基础数据分析套件
关键词:数据分析库
官网:pandas.pydata.org
1.数据结构
import pandas as pd
2.基本操作
head,tail,index,values...
3.缺失值处理
4.pandas表统计与整合
5.scikit-learn
关键词:数据挖掘建模,机器学习
官网:scikit-learn.org
1.机器学习与决策树
数据预处理,数据建模,数据验证
#step1.数据预处理
from sklearn.datasets import load_iris
iris = load_iris()#50条原始数据
from sklearn.cross_validation import train_test_split
train_data, test_data, train_target, test_target = train_test_split(iris.data, iris.target, test_size=0.3, random_state=0)
# 为了看模型在没有见过数据集上的表现,随机拿出数据集中30%的部分做测试
#step2.数据建模
from sklearn import tree
clf = tree.DecisionTreeClassifier(criterion="entropy")#建立角色书
clf.fit(train_data,train_target)#数据集进行训练
y_pred = clf.predict(test_data)#进行预测
#step3 验证
from sklearn import metrics
metrics.accuracy_score(y_true=test_target,y_pred=y_pred)
metrics.confusion_matrix(y_true=test_target,y_pred=y_pred)
#输出训练模型
with open('./data/tree.dot','w') as fw:
tree.export_graphviz(clf.out_file=fw)
6.keras:人工神经网络
关键词:人工神经网络
官网:keras.io
1.输入层,隐含层,输出层