• 利用Python进行数据分析(一)Numpy基础:数据和矢量计算


    对于大部分数据分析应用而言,最关注的功能主要集中在:

    • 用于数据整理和清理、子集构造和过滤、轮换等快速的矢量化运算
    • 常用的数组算法,如排序、唯一化、集合运算等
    • 高效的描述统计和数据集合、摘要运算
    • 用于异构数据集的合并、连接运算的数据对齐和关系型数据运算
    • 将条件逻辑表述为数组表达式(而不是带有if-else-else分支的循环)
    • 数组的分组运算(聚合、转换、函数应用等)

    NumPy的nDarray:一种多维数组对象

    Numpy最重要的特点就是N维数组对象(即ndarray),该对象是一个快速而灵活的大数据集容器。可以利用这种数组对整块数据执行一些数学运算,其语法和标量元素之间的运算一样:

    ndarray是一个通用的同构数据多维容器,也就是说,其中的所有元素都必须是相同类型的,每一个数组都有一个shape(一个表示各维度大小的元组)和一个dtype(一个用于说明数组数据类型的对象).虽然不需要深入理解Numpy,但是精通面向数组的编程和思维方式是成为Python科学计算牛人的一大关键步骤。

    注意:当看到数组,Numpy数组,ndarray时,基本上是指同一样东西,即ndarray对象

    创建ndarray

    创建数组最简单的方法是使用array函数,它接受一切序列型的对象(包括其他数组),然后产生一个新的含有传入数据的Numpy数组。

     嵌套序列(比如由一组等长列表组成的列表)将会被转换为一个多维数组:

     除非显式说明,np.array会尝试为新建的这个数组推断出一个较为合适的数据类型。数据类型保存在一个特殊的stype对象中。

    除np.array之外,还有一些函数也可以新建数组,比如,zeros和mones分别可以创建指定长度或形状的全0或全1数组,empty可以创建一个没有任意具体值得数组。要用这些方法创建多维数组,只需传入一个表示形状的元祖即可

    注意:认为np.empty会返回全0数组是不安全的,很多情况,他返回的都是一些未初始化的垃圾值

     arange是Python内置函数range的数组版:

     由于numpy关注的是数值计算,所以如果没有特别的指定,数据类型基本都是float64(浮点型)

    数组创建函数:

     数值型dtype的命名方式:一个类型名(flaot或int)后面跟一个用于表示各元素位长的数字

    numpy所有的数据类型

     

    可以通过ndarray的astype显式的转换其dtype:

    在上面的例子中,整数被转换为了浮点数,如果将浮点数转换为整数,则小数部分将会被截断

  • 相关阅读:
    moc处理cpp文件
    程序员!你还能年轻几岁?
    多媒体会议系统中的延迟
    把C++类成员函数集成到lua
    Q_PROPERTY使用
    python与c的集成
    注册C函数与类成员函数到lua
    摄像头(WebCam)在Linux操作系统中的驱动方法
    网络营销实战必读之书推荐:《网络营销实战密码》
    这样写的博客才有更多的人愿意看
  • 原文地址:https://www.cnblogs.com/sannyhome/p/13602113.html
Copyright © 2020-2023  润新知