美文网首页
numpy系统第一阶段

numpy系统第一阶段

作者: 领带衬有黄金 | 来源:发表于2020-06-11 15:08 被阅读0次

1. 安装anaconda环境

该环境已经集成pandas、numpy、等众多数学库
环境安装:https://www.jianshu.com/p/d3a5ec1d9a08
使用jupyter notebook进行练习与实践,该命令可以激活浏览器,能够提供一个良好的用户交互p平台。

2.NumPy: 数组和⽮量计算

2.1 介绍

NumPy是在⼀个连续的内存块中存储数据,独⽴于其他Python内置对象。NumPy的C语⾔编
写的算法库可以操作内存,⽽不必进⾏类型检查或其它前期⼯作。⽐起Python的内置序列,
NumPy数组使⽤的内存更少。
特色:NumPy可以在整个数组上执⾏复杂的计算,⽽不需要Python的for循环。
比较:基于NumPy的算法要⽐纯Python快10到100倍(甚⾄更快),并且使⽤的内存更少。

2.2 ndarray生成方式

使用原列表生成

例如:a = [[1,2,3],[2,3,4]]         b = np.array(a)

使用随机生成

例如:data = np.random.randn(2, 3)

生成位置数组,所有元素为0

np.zeros(10)       np.zeros(3,3)

生成单位数组,所有元素为1

np.ones(10)         np.ones(3,3)

生成随机元素的数组

np.empty((2, 3, 2))

生成等差数组

np.arange([start, ]stop, [step, ]dtype=None)
np.arange(1,5,2)->[1 3]

2.3 numpy数组的常用属性

data = np.array([[1,2,3],[2,3,4]])

ndim
使用:data.ndim = 2 获取ndarray的维度,也是获取数组的嵌套层数
shape
使用:data.shape = (2,3) 获取数组的形状
dtype
使用:data.dtype = int64 获取数组中所由元素共通的类型
reshape
使用 data.reshape(3,2),将满足该元素个数的数组进行重新调整形状
astype:转换数组的数据类型
说明:int32 --> float64 完全ojbk
         float64 --> int32 会将小数部分截断
         string_ --> float64 如果字符串数组表示的全是数字,也可以用astype转化为数值类型
使用: float_arr = data.astype(np.float64)
特征:调⽤astype总会创建⼀个新的数组(⼀个数据的备份)

2.4 NumPy数组的运算

不⽤编写循环即可对数据执⾏批量运算。NumPy⽤户称其为⽮量化(vectorization)。⼤⼩相 等的数组之间的任何算术运算都会将运算应⽤到元素级

arr = np.array([[1., 2., 3.], [4., 5., 6.]])

特点1:适用于元素个数一样 形状一样 进行加减乘除
特点2:数组与标量的算术运算会将标量值传播到各个元素。
例如:arr * 0.5 = array([[0.5, 1. , 1.5],[2. , 2.5, 3. ]])
特点3:⼤⼩、结构相同的数组之间的⽐较会⽣成布尔值数组。
例如:arr>arr1 = array([[False, False, False],[False, False, True]])

2.5 基本的索引和切⽚

arr = np.arange(10)

arr[5] = 5
arr[5:8] = array([5, 6, 7])
arr[5:8] =(赋值) 12 -> array([ 0, 1, 2, 3, 4, 12, 12, 12, 8, 9])
arr_slice =(赋值) arr[5:8] -> arr_slice[1] =(赋值) 12345->array([ 0, 1, 2, 3, 4, 12, 12345, 12, 8,
9])

切⽚[ : ]会给数组中的所有值赋值
arr_slice[:] =(赋值) 64->array([ 0, 1, 2, 3, 4, 64, 64, 64, 8, 9])

多维数组切片
arr2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

arr2d[2] = array([7, 8, 9])
arr2d[0][2] = 3 arr2d[0, 2] = 3

多维数组中,如果省略了后⾯的索引,则返回对象会是⼀个维度低⼀点的ndarray
arr3d = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])

标量值和数组都可以被赋值给arr3d[0]

old_values = arr3d[0].copy()
old_values == array([[1, 2, 3], [4, 5, 6]])
arr3d[0] = 42 # 所有值变为42
arr3d[0] = old_values
arr3d == array([[[ 1, 2, 3],[ 4, 5, 6]],[[ 7, 8, 9],[10, 11, 12]]])

切⽚索引

image.png

布尔索引 :假设我们有⼀个⽤于存储数据的数组以及⼀个存储姓名的数组(含有重复项)

image.png
image.png

花式索引:花式索引(Fancy indexing)是⼀个NumPy术语,它指的是利⽤整数数组进⾏索引

image.png
image.png

相关文章

  • numpy系统第一阶段

    1. 安装anaconda环境 该环境已经集成pandas、numpy、等众多数学库环境安装:https://ww...

  • 安装opencv

    完成后若出现如下问题: 这是因为系统调用了自带的numpy,把系统自带的numpy删掉 再重新安装numpy

  • (8) python numpy

    (一)numpy 简介 numpy(numerical python)系统是python的一种开源的数值计算扩展。...

  • numpy的简单操作

    (一)numpy 简介 numpy(numerical python)系统是python的一种开源的数值计算扩展。...

  • 2019-01-16 Numpy基础

    为什么使用numpy numpy是Python的一种开源的科学计算库NumPy系统是Python的一种开源的数值计...

  • python数据分析(1)--numpy

    简介 NumPy系统是Python的一种开源的数值计算扩展,可用来存储和处理大型矩阵。 numpy中的array ...

  • 介绍numpy数组

    课程内容 NumPy和Python生态系统 NumPy是Python科学计算的核心库。 基本的Python库,如p...

  • NumPy

    NumPy NumPy系统是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python...

  • numpy 介绍及常用函数

    1. numpy介绍: NumPy系统是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比...

  • python数值计算扩展—— NumPy

    一、NumPy简介NumPy系统是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Pyt...

网友评论

      本文标题:numpy系统第一阶段

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