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

Python数据分析-基础技术篇

难度初级
时长 2小时42分
学习人数
综合评分8.30
71人评价 查看评价
9.0 内容实用
8.0 简洁易懂
7.9 逻辑清晰
  • #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下载
官方微信
友情提示:

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