美文网首页
《利用Python进行数据分析》-2 Numpy

《利用Python进行数据分析》-2 Numpy

作者: Yayamia | 来源:发表于2022-08-27 18:11 被阅读0次

Numpy的特点:

  • 基于ndarray
  • 用于对整组数据进行快速运算的标准数学函数(无需编写循环)

ndarray

  • N dimensions array, N维数组对象
  • ndarray是一个同构数据多维容器,也就是其中的所有元素都必须是相同类型的。每个数组都有一个shape(一个表示各维度大小的元组)和一个dtype(一个用于说明数组数据类型的对象)


  • 可以通过astype把数组从一个dtype转换成另一个dtype


  • 数组 = Numpy数组 = ndarray

创建ndarray

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


  • 嵌套序列(比如一组登场列表组成的列表)将会被转换成一个多为数组
  • 除非也别说明,np.array会尝试为新建的这个数组推断出一个较为合适的数据类型。数据类型保存在一个特殊的dtype对象中。
  • 其他创建数组的方式:
    np.zeros()
    创建时需要传入一个表示形状的元组
    np.arange():相当于range(),不过返回的是数组而不是列表

Numpy数组的运算

  • 特点:不用编写循环就可以对数组执行批量计算,即矢量化(vectorization)。大小相等的数组之间的任何运算都会将运算应用到元素级。
  • 数组与标量的运算会将标量值传播到各个元素
  • 大小相同的数组之间的比较会布尔值数组

Numpy数组的索引和切片

  • 一维数组和list差不多,不同之处在于:数组切片是原始数组的视图。这意味着数据不会被复制,视图上的任何修改都会直接放映到源数组上。


  • 如果你想要得到的是ndarray切片的一份副本而不是视图,需要明确进行复制操作,如arr[6:9].copy()
  • 多维数组的索引


  • 多维数组的切片



  • 布尔型索引



    布尔型索引的长度必须跟被索引轴长度一致

~操作符用来反转条件很好用

也可以使用布尔条件的组合



注意:python关键词and or在布尔型数组中无效,需要用& 与 |

设值
  • 花式索引(Fancy indexing)


    注意:花式索引和切片不一样,它总是将数据复制到新的数组中

数组转置和轴对换

转置是重塑的一种特殊形式,它返回的是源数据的视图(不会进行任何复制操作)。数组不仅有Transpose的方法,还有一个特殊的T属性。


通用函数

即(ufunc)是一种对ndarray中的数据执行元素级运算的函数。你可以将其看做简单函数(接受一个或多个标量值,并产生一个或多个标量值)的矢量化包装器


1661572471(1).png

可以接受2个数组的称为二元ufunc,结果返回一个数组

将条件逻辑表述为数组运算

np.where函数是三元表达式x if condition else y的矢量化版本


np.where的第二个和第三个参数不必是数组,它们都可以是标量。在数据分析工作中,where常用于根据另一个数组而产生一个新的数组

Numpy的数学统计方法


arr.mean(1)是计算行的平均值;arr.mean(0)是计算列的平均值

在上面这些方法中,布尔值会被强制转换为1(True)和0(False)。因此,sum经常被用来对布尔型数组中的TRUE值进行计数

另外还有两个方法any和all,它们对布尔型数组非常有用。any用于测试数组中是否存在一个或多个True,而all则检查数组中所有值是否都是True。

唯一化:np.unique()

一些集合运算:


伪随机数的生成


相关文章

  • 数据分析学习计划

    1.python:Python入门实践、利用Python进行数据分析、Pandas+Numpy 2.SQL:SQL...

  • 第4章 Numpy基础(2)

    以下内容主要学习自《利用Python进行数据分析》 第4章 NumPy基础(2) NumPy是Numerical ...

  • 利用Python进行数据分析-NumPy基础

    本文出自<利用Python进行数据分析第2版>侵删 NumPy NumPy是Python数值计算最重要的基础包,可...

  • 第4章 Numpy基础(1)

    以下内容主要学习自《利用Python进行数据分析》 第4章 NumPy基础(1) NumPy是Numerical ...

  • 第4章 NumPy基础(3)

    以下内容主要学习自《利用Python进行数据分析》 第4章 NumPy基础(3) NumPy是Numerical ...

  • 《利用Python进行数据分析》读书笔记

    Github:《利用Python进行数据分析》读书笔记 主要包括:numpy和pandas的使用

  • python数据分析

    利用python进行数据分析需要使用的工具 pandas :数据分析处理库 numpy:科学计算库库 matplo...

  • Numpy教程(1) 数组的介绍

    numpy教程的第一部分涵盖了利用numpy多维数组进行数据操作与分析的核心方面。Numpy是python中用于科...

  • NumPy学习笔记0

    简单整理了NumPy的一些特性,参考的是 《利用Python进行数据分析》( Wes McKinney 著),Nu...

  • 2019-10-12

    原文请看利用Python进行数据分析(10) pandas基础: 处理缺失数据 利用Python进行数据分析(10...

网友评论

      本文标题:《利用Python进行数据分析》-2 Numpy

      本文链接:https://www.haomeiwen.com/subject/hfqfnrtx.html