1、创建numpy数组
概要
图像
(Image)由称为 像素
(Pixel)的较小成分组成。 视频
(Video)由多个 帧
(Frame)组成,每个帧都不过是一幅图像。
目标
我们将获得一些使用各种 NumPy 函数的实际经验,这些函数用于创建 NumPy 数组并获取它们的形状。我们将使用 NumPy 的 0、1 和 rand 函数来创建数组。我们还将查看它们的数据类型和形状。
内容
来看看创建 NumPy 数组的四种方法:
- 全 0 填充数组:
np.zeros
- 全 1 填充数组:
np.ones
- 随机数填充数组:
np.random.rand
- 指定值填充数组:
np.array
函数有两个重要的参数:
- 数组的形状。对于一个二维数组,这就是(行数,列数)。
- 元素的数据类型。默认情况下,NumPy 使用
浮点数
作为其数据类型。对于图像,我们将使用不带正负号的 8 位整数(unsigned 8-bit integers)np.uint8
。这背后的原因是 unsigned 8-bit integers 的范围是 0 到 255,这与像素值的范围相同。
譬如:我们要创建一个大小是 4x3
的全 0
填充数组,我们可以通过使用 np.zeros(4,3)
来实现。类似地,如果我们想创建一个全 1
填充的 4x3
数组,我们可以使用 np.ones(4,3)
。
有了 NumPy 数组之后,就可以使用 npArray.shape
查找数组的形状,其中 npArray
是 NumPy 数组的名称。
import numpy as np # 导入NumPy模块# 创建一个5行6列的2D NumPy数组,用零填充
npArray = np.zeros((5,6)) print(npArray) # 输出刚刚创建的数组'''
[[0. 0. 0. 0. 0. 0.][0. 0. 0. 0. 0. 0.][0. 0. 0. 0. 0. 0.][0. 0. 0. 0. 0. 0.][0. 0. 0. 0. 0. 0.]]
'''print(npArray.dtype) # 输出数组元素的数据类型
# float64print(npArray.shape) # 输出数组的形状
# (5, 6)# 输出数组中的行数
print("数组中的行数(row) = {}".format(npArray.shape[0]))
# 输出数组中的列数
print("数组中的列数(columns) = {}".format(npArray.shape[1]))
'''
数组中的行数(row) = 5
数组中的列数(columns) = 6
'''
创建一个 5 行 6 列全 0 填充的数组
现在,我们将使用前面看到的其他命令来创建大小相同的数组,即(5,6),并且指定数据类型(np.uint8
)。 让我们创建一个全 10填充的数组。
# 创建一个全1填充的数组,形状大小为(5,6),数据类型为(np.uint8)
npArray = np.ones((5,6), dtype=np.uint8) print(npArray) # 输出刚刚创建的数组
'''
[[0 0 0 0 0 0][0 0 0 0 0 0][0 0 0 0 0 0][0 0 0 0 0 0][0 0 0 0 0 0]]
'''print(npArray.dtype) # 输出数组元素的数据类型
# uint8print(npArray.shape) # 输出数组的形状
# (5, 6)# 输出数组中的行数
print("数组中的行数(row) = {}".format(npArray.shape[0]))
# 输出数组中的列数
print("数组中的列数(columns) = {}".format(npArray.shape[1]))
'''
数组中的行数(row) = 5
数组中的列数(columns) = 6
'''
创建随机数填充数组
我们将创建一个用随机数填充的数组。 请注意,在构建由随机数填充的数组时,我们无法指定数据类型。
# 创建一个随机数填充的数组,形状大小同样是(5,6)
npArray = np.random.rand(5,6) print(npArray) # 输出刚刚创建的数组'''
[[0.76493029 0.4244641 0.96668388 0.87860886 0.00654919 0.46697776][0.20844501 0.40487349 0.51814253 0.06393495 0.21362829 0.64340518][0.8480972 0.65643116 0.08282768 0.09566009 0.90510305 0.74211234][0.64052005 0.85885759 0.48681204 0.73636393 0.65345601 0.2980164 ][0.37037381 0.28148836 0.15755969 0.32690712 0.56888984 0.16034325]]
'''
创建指定值填充数组
# 创建指定值填充数组
npArray = np.array([[1,2,3,4,5,6],[7,8,9,10,11,12],[13,14,15,16,17,18],[19,20,21,22,23,24],[25,26,27,28,29,30]],dtype=np.uint8)print(npArray) # 输出刚刚创建的数组'''
[[ 1 2 3 4 5 6][ 7 8 9 10 11 12][13 14 15 16 17 18][19 20 21 22 23 24][25 26 27 28 29 30]]
'''
小结
我们看到了如何使用不同的函数创建 NumPy 数组,如何指定其数据类型以及如何显示其形状。
1、创建numpy数组相关推荐
- [云炬python3玩转机器学习笔记] 3-4创建Numpy数组和矩阵
其他创建 numpy.array的方法 np.zeros(10) array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]) np.zeros(10).dtype ...
- python观察日志(part25)--创建numpy数组
学习笔记,仅供参考,有错必纠 按需更新 numpy中的数组 创建数组 # 构造正态矩阵 np.random.normal(0, 1, (4, 4)) array([[ 0.37736985, -0.2 ...
- 05NumPy--5.2创建NumPy数组
#语法:array([列表]/(元祖)) import numpy as np a = np.array([1,2,3,3]) print(a) print(type(a
- python笔记3(numpy数组)
记录python听课笔记 文章目录 记录python听课笔记 一,数组创建 1.创建NumPy数组 1.1一维数组和二维数组的创建和访问 1.2三维数组 1.3数组元素的数据类型 1.4arange( ...
- NumPy 数组对象
NumPy 数组对象 # 来源:NumPy Essentials ch2 数组索引和切片 # 创建 100x100 个 0~1 随机数 x = np.random.random((100, 100)) ...
- NumPy Essentials 带注释源码 二、NumPy 数组对象
# 来源:NumPy Essentials ch2 数组索引和切片 # 创建 100x100 个 0~1 随机数 x = np.random.random((100, 100)) # 取第 42 行 ...
- c语言转换为python语言_使用C语言中的数据缓冲区和NumPy数组之间的转换来为Python接口打包C程序的最佳方法是什么?...
基本上有三种方式: >从图像缓冲区复制到NumPy阵列,反之亦然.当给定C/C++图像时,创建NumPy阵列并复制数据,当给定NumPy阵列时,创建C/C++图像并复制数据. > NumP ...
- Python数据分析与可视化——NumPy数组
NumPy数组 创建NumPy数组除了可以使用底层Ndarray构造器来创建外,也可以通过以下3种方式来创建. 1.numpy.empty() 方法 该方法用来创建一个指定形状(shape).数据类型 ...
- c语言随机生成整数存放一维数组_文科生学 Python 系列 7: Numpy 数组/索引和切片...
第四课:本课内容: • 0. 导入 NumPy 包 • 1. 创建 NumPy 数组 • 2. 索引和切片 • 3. 读取文件 • 4. 布尔型索引 • 5. 数组的运算 • 6. 常用函数举例 Nu ...
最新文章
- [转]mysql性能的检查和调优方法
- vm虚拟机下linux安装python_VM中安装linux系统,安装VS Code,搭建Python环境
- java并发框架支持锁包括,tip/面试题_并发与多线程.md at master · 171437912/tip · GitHub...
- 【Android 安全】DEX 加密 ( 常用 Android 反编译工具 | apktool | dex2jar | enjarify | jd-gui | jadx )
- python基础笔记_python基础学习笔记(九)
- jenkins ssh发布配置
- sh 脚本执行sql文件传参数
- java swing 面试题_下面有关JAVA swing的描述,说法错误的是?
- Java jdk中的部分工具javac javaw javaws javadoc javah javap jar jdb jps的作用
- 不能说服别人接受,只能是个烂设计
- Eprime error number 1234 :unable to load sound 203
- ThinkPHP商城分类无限分类遍历数据
- js数组 reduce函数
- estore简版商城思路
- emoji语言抽象话大全_当抽象话也成为一种暗语
- 用java写布尔矩阵奇偶性
- oracle11g dataguard
- Android Retrofit Put请求
- Linux公社FTP服务器地址及用户名密码
- Matlab画三维立体网状图形(类似魔方)
热门文章
- Axure中继器结构与原理详解
- 透过荣耀耳机的三重“炼金术”,重识TWS行业
- linphone android源码,无法在实际设备上运行Linphone-android源代码
- java flowlayout 事件_java窗体中的FLOWLAYOUT
- pygame 生成文字
- 各部件作用计算机,简述计算机五大部件及其作用
- 低功耗蓝牙系统体系结构
- R语言基于ARMA-GARCH-VaR模型拟合和预测实证研究分析案例
- java-net-php-python-39jspm垃圾回收管理系统计算机毕业设计程序
- linux下载sra数据库,linux下使用Aspera Connect下载sra数据