python数据分析numpy,matplotlib,scipy,pandas,scikit-learn

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.输入层,隐含层,输出层
        
            
            
            

你可能感兴趣的:(python)