1. ndarray 的创建及获取属性

上节课我们有提到过 ndarray 的创建,我只需要将列表传入到 np.array() 函数中。例如:

import numpy as npmy_list = [1, 2, 3, 4, 5, 6]
my_arr = np.array(my_list)
print(my_arr)

ndarray 创建完成后,我们可以查看 ndarray 的属性。

1.1 查看类型

1.1.1 查看 ndarray 的类型。

import numpy as npmy_list = [1, 2, 3, 4, 5, 6]
my_arr = np.array(my_list)
print(type(my_arr))

由于类型为 ndarray,所以代码中得到的类型为 <class 'numpy.ndarray'>

1.1.2 查看 ndarray 中元素的类型

import numpy as npmy_list = [1, 2, 3, 4, 5, 6]
my_arr = np.array(my_list)
print(my_arr.dtype)

1.2 查看维度信息

1.2.1 查看维度数

import numpy as npmy_list = [1, 2, 3, 4, 5, 6]
my_arr = np.array(my_list)
print(my_arr.ndim)

由于我们创建的是一维数组,所以代码中得到的维度数为 1。

1.2.2 查看数组大小

import numpy as npmy_list = [1, 2, 3, 4, 5, 6]
my_arr = np.array(my_list)
print(my_arr.size)

由于数组中包含 6 个元素,所以代码中得到的数组大小为 6。

1.2.3 查看各维度大小

import numpy as npmy_list = [1, 2, 3, 4, 5, 6]
my_arr = np.array(my_list)
print(my_arr.shape)

由于我们创建的是一维数组,所以代码中得到的结果为 (6,)

1.3 查看元素信息

1.3.1 查看元素占用的存储空间

import numpy as npmy_list = [1, 2, 3, 4, 5, 6]
my_arr = np.array(my_list)
print(my_arr.itemsize)

由于元素的类型为 int64,所以占用的存储空间为 8 个字节。上面讲的是一维数组的创建及数组属性的获取,下面来讲下二维数组。创建方法以及属性的获取都和一维数组一样,所以就不一一详细介绍了,只是把代码列出,同学们可以运行代码感受下。

import numpy as npmy_list = [[1.1, 2.2, 3.3], [4.4, 5.5, 6.6]]
my_arr = np.array(my_list)
print(type(my_arr))
import numpy as npmy_list = [[1.1, 2.2, 3.3], [4.4, 5.5, 6.6]]
my_arr = np.array(my_list)
print(my_arr.dtype)
import numpy as npmy_list = [[1.1, 2.2, 3.3], [4.4, 5.5, 6.6]]
my_arr = np.array(my_list)
print(my_arr.ndim)

在创建数组时,我们还可以明确指定元素的类型,例如:

import numpy as npmy_list = [[1, 2, 3], [4, 5, 6]]
my_arr = np.array(my_list, dtype = 'float64')
print(my_arr.dtype)

在上面的例子中,当我们明确指定元素类型时,虽然元素的类型为整型,但是由于明确指定了浮点型,所以得到的元素类型为浮点型。

2. 使用函数创建 ndarray

前面创建 ndarray 的方法是将列表传入到函数 array() 中。除此之外,我们还可以使用函数来创建 ndarray。

2.1 arange 函数

arange 函数根据指定的范围以及设定的步长,生成一个 ndarray。

import numpy as npmy_arr = np.arange(0, 12)
print(my_arr)

上面的代码创建了一个包含 12 个元素的 ndarray,元素从 0 开始,到 11 结束,[ 0 1 2 3 4 5 6 7 8 9 10 11]。在使用 arange() 函数,当我们不指定步长时,默认的步长为 1。当然,我们亦可以明确指定步长。例如:

import numpy as npmy_arr = np.arange(0, 12, 3)
print(my_arr)

当我们指定步长为 3 时,生成的 ndarray 为 [0 3 6 9]。arange() 函数的参数不但可以为整数,还可以为小数。例如:

import numpy as npmy_arr = np.arange(0, 6, 0.6)
print(my_arr)

上面的代码生成了数组 [0. 0.6 1.2 1.8 2.4 3. 3.6 4.2 4.8 5.4]。上面使用 arange() 函数生成的是一维数组,我们可以在生成一维数组后对其进行重塑,这样便可以得到多维数组。例如:

import numpy as npmy_arr = np.arange(0, 12).reshape(3, 4)
print(my_arr)

在上面的代码中,调用 reshape() 函数对生成的一维数组进行重塑,便得到一个 3 行 4 列的二维数组。

2.2 linspace 函数

linspace 函数用于在线性空间中以均匀步长生成 ndarray。

import numpy as npmy_arr = np.linspace(0, 10, 5)
print(my_arr)

上述代码对区间 [0, 10] 进行 5 等分,取每个分界点的数字组成数组,便得到一维数组 [ 0. 2.5 5. 7.5 10. ]

2.3 zeros 函数

zeros 函数生成一个给定形状和类型的用 0 填充的 ndarray。

import numpy as npmy_arr = np.zeros(6)
print(my_arr)

上述代码生成一个 6 个 0 的一维数组 [0. 0. 0. 0. 0. 0.]

import numpy as npmy_arr = np.zeros((2, 3))
print(my_arr)

上述代码生成一个 2 行 3 列的二维数组,[[0. 0. 0.][0. 0. 0.]],数组的元素全为 0。在调用 zeros() 函数生成多维数组时,要注意传入的是一个元组,元组的各个元素指明了多维数组各个维度的大小。

2.4 ones 函数

ones() 函数和 zeros() 函数类似,只不过生成的数组中的元素全为 1。

import numpy as npmy_arr = np.ones(6)
print(my_arr)

上述代码生成一个 6 个 1 的一维数组 [1. 1. 1. 1. 1. 1.]

import numpy as npmy_arr = np.ones((2, 3))
print(my_arr)

上述代码生成一个 2 行 3 列的二维数组,[[1. 1. 1.][1. 1. 1.]],数组的元素全为 1。

2.5 random() 函数

我们可以使用 random() 函数来生成元素大小为随机的 ndarray。

import numpy as npmy_arr = np.random.random(3)
print(my_arr)

上面代码生成一个元素大小随机的一维数组 [0.56733043 0.49110822 0.87588511]。使用 random() 函数同样可以生成二维数组。

import numpy as npmy_arr = np.random.random((2, 3))
print(my_arr)

ndarray 的创建及属性相关推荐

  1. 科学计算工具NumPy(1):ndarray的创建于数据类型

    科学计算工具NumPy(1):ndarray的创建于数据类型 科学计算工具NumPy(2):ndarray的矩阵处理 科学计算工具NumPy(3):ndarray的元素处理 Numpy(Numeric ...

  2. Python技术分享:ndarray对象的常用属性

    NumPy作为高性能科学计算和数据分析的基础包,是介绍其它重要数据分析工具的基础,掌握NumPy的功能及其用法,将有助于后续其他数据分析工具的学习. NumPy中最重要的一个特点就是其N维数组对象,即 ...

  3. VS创建props属性表并在新项目中导入props属性表

    创建props属性表过程见配置PCL的一个例子:VS2019配置PCL 上面一篇执行完现在生成了pclX64.props 创建一个新的项目: 创建好了之后,复制进来两个文件,那个pcd模板文件见上面那 ...

  4. C#控件的创建、属性设置及事件注册

    摘要:本文基于Visual studio 2019, 以按钮控件(Button)为例,认识控件的创建方式.属性设置及事件注册. 编程语言:C# 编程环境:Visual Studio 2019 目录 控 ...

  5. python在子类中添加新的属性_python - 如何创建类属性?

    python - 如何创建类属性? 在python中,我可以使用@classmethod装饰器向类添加方法. 是否有类似的装饰器向类中添加属性? 我可以更好地展示我在说什么. class Exampl ...

  6. Numpy入门教程:01. 数组的创建与属性

    背景 什么是 NumPy 呢? NumPy 这个词来源于两个单词 – Numerical和Python.其是一个功能强大的 Python 库,可以帮助程序员轻松地进行数值计算,通常应用于以下场景: 执 ...

  7. python 创建空的numpy数组_Numpy入门教程:01. 数组的创建与属性

    背景 什么是 NumPy 呢? NumPy 这个词来源于两个单词 -- Numerical和Python.其是一个功能强大的 Python 库,可以帮助程序员轻松地进行数值计算,通常应用于以下场景: ...

  8. NumPy学习_00 ndarray的创建

    1.使用array()函数创建数组 参数可以为:单层或嵌套列表:嵌套元组或元组列表:元组或列表组成的列表 # 导入numpy库import numpy as np # 由单层列表创建a = np.ar ...

  9. winform combobox第12345行的数据_Python学习第109课--ndarray的创建和切分操作

    [每天几分钟,从零入门python编程的世界!] ●创建ndarray多维数组 设我们想创建一个这样的ndarray三维数组: [1 2 3 4 5] [6 7 8 9 10] [11 12 13 1 ...

最新文章

  1. Android 打开屏幕旋转
  2. 浅谈Python中的编码规则
  3. 不用asp.net MVC,用WebForm照样能够实现MVC
  4. Facebook陷入史上最大危机:近7000页机密文件泄露!
  5. ICCV 2021 | 带你了解微软亚洲研究院CV领域前沿进展
  6. WebBrowser控件使用相关
  7. 304.二维区域和检索-矩阵不可变
  8. 联想y50更换固态硬盘_联想y50怎么加固态硬盘而不换原来的机器硬盘?
  9. 刘汝佳--WERTY
  10. 微信小程序实现抽奖大转盘
  11. 精彩Linux 篇章
  12. 【Java基础】2020如何查看Java官方文档
  13. 我的人生历程之第一篇:游戏篇(b)
  14. 梦幻手游最新服务器,梦幻西游手游最新服务器合服公告 5月11日合服一览
  15. MVC 使用ViewBag 加载数据 与laypage 结合
  16. Lua进行二进制文件的位操作
  17. python学生成绩排序_学生成绩排序基础算法笔记
  18. 【Pandas】Pandas数据分类
  19. 二手房信息发布平台源码-得推微房产系统v2.1
  20. CentOS7重置密码

热门文章

  1. 大数据Spark企业级实战与Hadoop实战 | PDF PPT下载!
  2. Unity3d图像识别位置跟踪Apritag
  3. 好看的首页侧边多层导航
  4. C++ 头文件 iomanip
  5. 软件测试之测试用例编写及编写规范
  6. 浅谈Powerbuilder的未来和Powerbuilder使用者的未来
  7. mooc上c语言怎么改作业,电子科技大学19年C语言MOOC置换课程部分试题和答案
  8. python itertools功能详解
  9. 使用贝叶斯优化进行深度神经网络超参数优化
  10. Ubuntu14.04 安装WineQQ 2013