为了账号安全,请及时绑定邮箱和手机立即绑定

Python数据分析-基础技术篇

难度初级
时长 2小时42分
学习人数
综合评分8.27
72人评价 查看评价
9.0 内容实用
7.9 简洁易懂
7.9 逻辑清晰
  • matplotlibna

    官网:http://matplotlib.org/

    绘制图表,进行数据可视化

    pandas:基础数据分析套件

    scikit-learn:强大的数据分析建模库

    keras:人工神经网络


  • #numpy的其他操作  

    FFT   

    np.fft.fft(np.array([1,1,1,1,1,1,1,])  #阶跃响应  

    np.corrcoef([1, 0, 1],[0, 2, 1]) # 皮尔逊相关系数计算   

    np.poly1d([3,1,3]) # 生成一元多次函数


    01:28
    看视频
  • 矩阵操作

     from numpy.linalg import *

    1. 求逆矩阵  inv()

    2. 转置矩阵  transpose()

    3. 行列式   det()

    4. 特征值与特征向量   eig()第一个特征值 第二个特征向量

    5. 求解方程   solve(a,b)


  • #常用array操作

    np.arange(1, 11)  #产生一个1-11(不含11)的等差数列

    np.arange(1, 11)reshape([2, 5]) # 变成两行五列 五也可换为-1

    np.exp(list) # list 的自然指数

    np.exp2(list) # list 的自然指数的平方

    np.【sqrt,sin,log,square,sum,max,min】(list) 

    # list 的正弦,自然对数,开方,平方,求和,最大值,最小值

    #np.dot  点乘  (也可直接进行加减乘除等操作 )

    np.copy(list1)  #对数组进行拷贝

    np.concateenata[vstack,hstack]  #对数组进行追加  split 分开

  • 常用数组

    np.zeros([2, 4])   #输出元素都为0的2行4列数组  

    (np.ones([3, 5]) #输出元素都为1 的2行4列数组   

    随机数生成

    np.random.rand(2, 4))#输出2行4列的随机数组  范围(0,1)  

    np.random.rand() #生成一个随机数   

    np.random.randint(1, 14, 5) #在1到14之间生成5个随机整数  

    np.random.randn(2, 4) #输出2行4列标准正态分布随机数     

    np.random.choice([10,20, 41])#随机生成一个列表中的数    

    分布

    np.random.beta(1,10, 100) #生成一个1-10共100个beta分布 (也可生成狄利克雷分布,二项式分布等等)

    04:38
    看视频
  • numpy

    array 转换为 ndarray 类型

    shape  几行几列

    ndim 维度

    dtype  数据类型 (可定义数据类型,默认float64)

    itensize 每个元素所占字节

    size 元素个数


    06:58
    看视频
  • #encoding=utf-8
    import numpy as np
    
    def main():
        lst=[[1, 3, 5], [2, 4, 6]]#建立一个二维list
        print(type(lst))#打印lst的数据类型 结果:<type ‘list’>
        np_lst=np.array(lst)#array是numpy中的数据结构,目的是统一list类型中不同的数据类型,降低维护成本
        print(type(np_lst))#结果:<type 'numpy.ndarray'>
        np_lst=np.array(lst.dtype=np.float)#指定数据类型为float
        #数据类型有bool, int, int8/16/32/64/128, unit8/16/32/128, float16/32/64, complex64/128
        print(np_lst.shape)#打印array的形状
        print(np_lst.ndim)#打印array的维度
        print(np_lst.dtype)#打印array的数据类型 结果:float64
        print(np_lst.itemsize)#打印array中每个元素的大小(字节数) 结果: 8
        print(np_lst.size)#打印array的大小(元素数) 结果: 6
    if __name__=="__main__":
        main()



  • print(np.zeros([2,4]))#输出元素都为0的2行4列数组
    print(np.ones([3,5]))#输出元素都为1 的2行4列数组
    print("Rand:")#生成随机数
    print(np.random.rand(2, 4))#输出2行4列的随机数组
    print(np.random.rand())#生成一个随机数
    print(np.random.randint(1, 14, 5))#在1到14之间生成5个随机数
    print("RandInt:")#生成随机整数
    print(np.random.randint(1,10))#生成1个1到10之间的随机整数
    print(np.random.randint(1,10,3))#生成3个1到10之间的随机整数[a b c]
    print("Randn:")#生成正态分布的随机数
    print(np.random.randn())#生成一个标准正态分布的随机数
    print(np.random.randn(2, 4))#生成2行4列标准正态分布的随机数
    print("Choice:")#从给定数组中随机选取一个数
    print(np.random.choice([10, 20, 30]))#从给定数组中随机选取一个打印出来
    print("Distribute:")#生成数学上某种指定分布
    print(np.random.beta(1, 10, 100))#生成从1到10一共100个beta分布的数


  • #encoding=utf-8
    import numpy as np
    import pandas as pd
    
    
    
    def main():
            #Data structure
            s=pd.Series([i*2 for i in range(1,11)])
            print(type(s))
            dates=pd.date_range('20170301',periods=8)
            df=pd.DataFrame(np.random.randn(8,5),index=dates,columns=list('ABCDE'))
            print(df)
            # basic
            print(df.head(3))  # head()打印出前几行
            print(df.tail(3))  # tail()打印出后几行
            print(df.index)  # index()打印出索引
            print(df.values)  # values()打印出values
            print(df.T)  # T 转置
            print(df.sort_values("C"))  # 第C列的values按从小到大的顺序排序
            print(df.sort_index(axis=1, ascending=False))  # 将index进行降序排序
            print(df.describe())  # 打印出所有属性值 的数量 平均值 标准差 最小值 最大值等
            #select
            print(type(df["A"]))
            print(df[:3])
            print(df.loc[dates[0]])
            print(df.iloc[1:3])
            print(df[df.B>0][df.A<0])
    if __name__ == '__main__':
                  main()


  • #encoding=utf-8
    import numpy as np
    import pandas as pd
    
    
    
    def main():
            #Data structure
            s=pd.Series([i*2 for i in range(1,11)])
            print(type(s))
            dates=pd.date_range('20170301',periods=8)
            df=pd.DataFrame(np.random.randn(8,5),index=dates,columns=list('ABCDE'))
            print(df)
    
    
    if __name__ == '__main__':
            main()


  • 多种库的总结

    numpy

    scipy matplotlib

    scikit learn

    pandas

    keras

    继续加油

  • Dense全连接层

    Activation激活层

    SGD随机梯度下降算法

    标签先独热码化

  • 人工神经网络ANN

    反向传播

    激活函数

    多层神经元

    映射到分类种类

  • keras简化了构建深度学习的步骤

    高层库

    底层库为tensorflow

  • iris花经典数据集

    预处理,随机切割分为训练集和测试集

    clf fit加载训练集到分类器中

    predict来预测测试集,计算准确率,验证分类器的性能

    使用准确率metrics accuracy_score

    或混淆矩阵metrics confusion_matrix



  • 机器学习

    无监督 不打标签 聚类

    监督 打标签 分类 回归

    决策树,通过不同的条件,来判断一个问题如果处理

    条件的选取有不同的算法,一种是观察信息熵的变化,来决定

    概率*log概率

  • scikit-learn数据挖掘,机器学习的库

  • date_range时间序列 日期

    periods个数,freq单位

    文件操作 xlsx csv

    read_csv

    read_excel(文件名,表名)

    to_csv保存

    to_excel


  • 统计方法

    mean var std

    value_counts计算值出现的次数

    group_by类似sql的分组聚合

    pivot_table透视表,数据交叉分析中常用


  • 缺失值NaN的处理

    可以丢弃dropna 整行或列去除

    也可以填充固定值或插值 fillna

  • head打印前几行

    tail打印后几行

    index打印主键

    values打印数据

    sort排序,直接指定按那个标签排序

    describe可以大致分析数据的一些特征,平均值,标准差等

    可以通过[]直接下标索引切片

    多个series组成dataframe




  • import pandas as pd

    Series是pandas中基础的数据结构

    date_range('20200202',periods=8)依次生成8天,天数作为主键,行标签

    DataFrame(数据,index主键也就是行标签,colums也就是列标签)

    类似excel


  • pandas是一种专门分析处理数据的库

  • 学习scipy多看官网的文档以及示例

    进一步加强学习

  • scipy中的linalg包含一些线性计算

    可以对矩阵进行分解

    使用方法与numpy类似

    QR分解

    SVD分解等


  • scipy interpolate下的interpld是一维函数的插值算法

    用来拟合曲线等,三角函数


  • scipy optimize 下面的优化器

    minimize最小值

    nelder-mead是一种计算最小值的方法

  • scipy.intergrate中的quad是积分模块

    dblquad是二元积分

  • scipy包含各种科学计算

    数据分析的工具

首页上一页1234567下一页尾页

举报

0/150
提交
取消
课程须知
需要对python语法和基本数据结构有所了解,对数据分析感兴趣!
老师告诉你能学到什么?
1、数据分析的一般步骤 2、numpy简介与基本使用 3、matplotlib简介与基本使用 4、scipy简介与基本使用 5、pandas简介与基本使用 6、机器学习的一般概念 7、scikit-learn的简介、使用示例与学习方法 8、keras的简介与一般用法

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!