Numpy 数据处理 ndarray使用详解
作者:ZacheryZHANG 发布时间:2021-01-30 18:05:11
标签:Numpy,数据处理,ndarray
1. ndarray的属性
数组的属性反映了数组本身固有的信息。常用的查看数组属性的相关语法如下表格所示:
属性名称 | 属性解释 |
---|---|
ndarray.shape | 数组维度的元组 |
ndarray.ndim | 数组维数 |
ndarray.size | 数组中的元素数量 |
ndarray.itemsize | 一个数组元素的长度(字节) |
ndarray.dtype | 数组元素的类型 |
下面,我们将针对ndarray的各种属性,进行代码演示。
代码演示如下所示:
import numpy as np
score = np.array([[1, 2, 3], [4, 5, 6], [1, 1, 1], [2, 2, 2]])
print(score.shape) # 数组维度的元组
print(score.ndim) # 数组维数
print(score.size) # 数组中的元素数量
print(score.itemsize) # 一个数组元素的长度(字节)
print(score.dtype) # 数组元素的类型
代码运行结果如下图所示:
注意:关于数组的维度,想知道数组有几维,最简单的办法就是看数组最外侧有多少个中括号,以上代码中传入的数组score有两个中括号,因此数组维数为2。
2. 数组的形状
关于数组形状,我们直接附上一段代码来理解:
c = np.array([[[1, 2, 3], [4, 5, 6], [1, 1, 1], [2, 2, 2]], [[1, 2, 3], [4, 5, 6], [1, 1, 1], [2, 2, 2]]])
print("c的数组维度:", c.shape)
以上代码运行结果如下图所示:
此处,输出的结果(2,4,3)(2,4,3)(2,4,3)的含义为:在最外层有2个二维数组。在二维数组里面,有4个一维数组。在一维数组里,有3个元素。
3. ndarray的类型
dtype是numpy.dtype类型,基本上之前所接触过的数据类型,这里面都支持。例如,bool、int32、int64、float32、uint8、complex64等等。
在我们创建array的同时是可以指定数组ndarray类型的。具体语法如下所示:
a = np.array([[[1, 2, 3], [4, 5, 6], [1, 1, 1], [2, 2, 2]], [[1, 2, 3], [4, 5, 6], [1, 1, 1], [2, 2, 2]]], dtype=np.float32)
print(a.dtype)
print(a)
代码运行结果如下图所示:可以发现结果中的数组元素带有小数点了。
当然,数组也可以存储字符串:
b = np.array(["python", "hello", "1"], dtype=np.string_)
print(b)
运行结果如下图所示:
来源:https://juejin.cn/post/7136941964393447454


猜你喜欢
- 本文实例为大家分享了Python实现滑雪小游戏的具体代码,供大家参考,具体内容如下源码分享:import sysimport cfgimpo
- 经常看到说正则的文章,但说的只是方法,却很少有说以下几个基本概念: 1.贪婪:+,*,?,{m,n}等默认是贪婪匹配,即尽可能多匹配,也叫最
- 代码import numpy as npimport matplotlib.pyplot as pltfrom sklearn.datase
- 多线程多线程类似于同时执行多个不同程序,多线程运行有如下优点:使用线程可以把占据长时间的程序中的任务放到后台去处理。用户界面可以更加吸引人,
- Python语言中import的使用很简单,直接使用 import module_name 语句导入即可。这里我主要写一下"imp
- 代码如下:<% '--------定义部份------------------ Dim XH_P
- 本文主要向大家分享了Python编程中通过Django模块实现用户注册以及邮箱验证功能的简单介绍及代码实现,具体如下。用户注册:类似于用户登
- fetchone() 返回单个的元组,也就是一条记录(row),如果没有结果 则返回 Nonefetchall() 返回多个元组,即返回多个
- 随着网站访问量的加大,每次从数据库读取都是以效率作为代价的,很多用ACCESS作数据库的更会深有体会,静态页加在搜索时,也会被优先考虑。互联
- 工欲善其事必先利其器,Pycharm 是最受欢迎的Python开发工具,它提供的功能非常强大,是构建大型项目的理想工具之一,如果能挖掘出里面
- 本文实例分析了Go语言多值替换的HTML模板用法。分享给大家供大家参考。具体如下:这里通过两种方式提供基于HTML模板的多变量值替换。另外附
- 前言:这种技术一般是基于的GAN(生成对抗网络)来实现,今天我给大家分享一个开源项目,能够复现静态图片动起来效果,可以做些有趣的项目,也可以
- 实例如下:import os if __name__ == "__main__": file_path =
- 使用MySQL,安全问题不能不注意。以下是MySQL提示的23个注意事项:1.如果客户端和服务器端的连接需要跨越并通过不可信任的网络,那么就
- 自己最近有在学习python,这实在是一门非常短小精悍的语言,很喜欢这种语言精悍背后又有强大函数库支撑的语言。可是刚接触不久就遇到了让人头疼
- 如何完美的卸载掉Mysql?按以下几个步骤去执行。步骤一确认你的mysql服务是关闭的状态,不然卸载不干净。在我的电脑(计算机)-- 管理
- 由于日期存在不同位数的月份或天数,出现参差不齐,既不美观也在日期比较时不好操作。如使用本涵数就会排列整齐:'================
- 前言vue3 支持用 jsx 实现组件,摆脱了 vue 文件式的组件,不再需要额外的指令,写法非常接近 React,减少记忆负担。本文简单的
- 前言RepeatMasker是一个通过已有数据库预测重复序列的软件,可以筛选DNA序列中的散在重复序列和低复杂序列,是重复序列注释的重要软件
- 第五个页面name="changenick.php" <? include &q