3.NumPy - 数组属性
1、ndarray.shape
这一数组属性返回一个包含数组维度的元组,它也可以用于调整数组大小
# -*- coding: utf-8 -*- import numpy as np
a = np.array([[1,2,3],[4,5,6]])
print a
print "Ndarray数组的维度为:"
print a.shape print "调整数组大小--a.shape = (3,2)"
a.shape = (3,2)
print a print "调整数组大小--a.reshape = (2,3)"
a.reshape(2,3)
print a
运行结果:
[[1 2 3]
[4 5 6]]
Ndarray数组的维度为:
(2L, 3L)
调整数组大小--a.shape = (3,2)
[[1 2]
[3 4]
[5 6]]
调整数组大小--a.reshape = (2,3)
[[1 2]
[3 4]
[5 6]]
2、ndarray.ndim:返回数组的维数
ndim:返回数组的维数# -*- coding: utf-8 -*- import numpy as np
#等间隔数字的数组
a = np.arange(24)
print a #[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23]
print a.ndim #返回数组的维数:1
#现在调整其维数
b = a.reshape(2,4,3) #现在拥有三个维度:三维数组包含两个二维数组,每一个二维数组里面包含4x3的一维数组
print b
运行结果:
[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23]
1
[[[ 0 1 2]
[ 3 4 5]
[ 6 7 8]
[ 9 10 11]] [[12 13 14]
[15 16 17]
[18 19 20]
[21 22 23]]]
3、ndarray.itemsize:返回数组中每个元素的字节单位长度
itemsize:返回数组中每个元素的字节单位长度# -*- coding: utf-8 -*- import numpy as np
#数组的 dtype 为 int8(一个字节)
x = np.array([1,2,3,4,5], dtype = np.int8)
print x #[1 2 3 4 5]
print x.itemsize #:
print '-----------------------'
#数组的 dtype 现在为 float32(四个字节)
x = np.array([1,2,3,4,5], dtype = np.float32)
print x.itemsize #
4:NumPy - 数组创建
4.1:numpy.empty
numpy.empty(shape, dtype = float, order = 'C') #它创建指定形状和dtype的未初始化数组
构造器接受下列参数:
| 序号 | 参数及描述 |
|---|---|
| 1. | Shape 空数组的形状,整数或整数元组 |
| 2. | Dtype 所需的输出数组类型,可选 |
| 3. | Order 'C'为按行的 C 风格数组,'F'为按列的 Fortran 风格数组 |
import numpy as np
x = np.empty([3,2], dtype = int)
print x
运行结果:注意:数组元素为随机值,因为它们未初始化
[[1577124050 0]
[1577157920 0]
[1668244575 2645855]]
4.2:numpy.zeros:返回特定大小,以 0 填充的新数组。
numpy.zeros(shape, dtype = float, order = 'C')
构造器接受下列参数:
| 序号 | 参数及描述 |
|---|---|
| 1. | Shape 空数组的形状,整数或整数元组 |
| 2. | Dtype 所需的输出数组类型,可选 |
| 3. | Order 'C'为按行的 C 风格数组,'F'为按列的 Fortran 风格数组 |
# -*- coding: utf-8 -*- import numpy as np
#含有 5 个 0 的数组,默认类型为 float
x = np.zeros(5)
print x x = np.zeros((5,), dtype = np.int)
print x #自定义类型
x = np.zeros((2,2), dtype = [('x', 'i4'), ('y', 'i4')])
print x
[0. 0. 0. 0. 0.]
[0 0 0 0 0]
[[(0, 0) (0, 0)]
[(0, 0) (0, 0)]]
4.3:numpy.ones:返回特定大小,以 1 填充的新数组
ones:numpy.ones(shape, dtype = None, order = 'C')
构造器接受下列参数:
| 序号 | 参数及描述 |
|---|---|
| 1. | Shape 空数组的形状,整数或整数元组 |
| 2. | Dtype 所需的输出数组类型,可选 |
| 3. | Order 'C'为按行的 C 风格数组,'F'为按列的 Fortran 风格数组 |
例 1
# 含有 5 个 1 的数组,默认类型为 float
import numpy as np
x = np.ones(5) print x
输出如下:
[ 1. 1. 1. 1. 1.]
例 2
import numpy as np
x = np.ones([2,2], dtype = int)
print x
输出如下:
[[1 1]
[1 1]]
3.NumPy - 数组属性的更多相关文章
- numpy数组属性查看及断言
numpy数组属性查看:类型.尺寸.形状.维度 import numpy as np a1 = np.array([1,2,3,4],dtype=np.complex128) print(a1) ...
- NumPy数组属性
NumPy - 数组属性 这一章中,我们会讨论 NumPy 的多种数组属性. ndarray.shape 这一数组属性返回一个包含数组维度的元组,它也可以用于调整数组大小. 示例 1 import n ...
- Numpy 数组属性
Numpy 数组的维数称为秩(rank),一维数组的秩为 1 , 二维数组的秩为 2 , 以此类推:在Numpy中, 每一个线性的数组称为是一个轴(axis),也就是维度(dimensios).比如说 ...
- 3、NumPy 数组属性
1.秩.维度 NumPy 数组的维数称为秩(rank),一维数组的秩为 1,二维数组的秩为 2,以此类推. 在 NumPy中,每一个线性的数组称为是一个轴(axis),也就是维度(dimensions ...
- 吴裕雄--天生自然Numpy库学习笔记:NumPy 数组属性
NumPy 数组的维数称为秩(rank),秩就是轴的数量,即数组的维度,一维数组的秩为 1,二维数组的秩为 2,以此类推. 在 NumPy中,每一个线性的数组称为是一个轴(axis),也就是维度(di ...
- Lesson4——NumPy 数组属性
NumPy 教程目录 NumPy 数组的维数称为秩(rank),秩就是轴的数量,即数组的维度,一维数组的秩为 1,二维数组的秩为 2,以此类推. 在 NumPy中,每一个线性的数组称为是一个轴(axi ...
- NumPy 超详细教程(1):NumPy 数组
系列文章地址 NumPy 最详细教程(1):NumPy 数组 NumPy 超详细教程(2):数据类型 NumPy 超详细教程(3):ndarray 的内部机理及高级迭代 文章目录 Numpy 数组:n ...
- numpy常见属性、创建数组
1.几种常见numpy的属性 ndim:维度 shape:行数和列数 size:元素个数 >>> import numpy as np #导入numpy模块,np是为了使用方便的 ...
- Numpy | 04 数组属性
NumPy 数组的维数称为秩(rank),一维数组的秩为 1,二维数组的秩为 2,以此类推. 在 NumPy中,每一个线性的数组称为是一个轴(axis),也就是维度(dimensions).比如说,二 ...
随机推荐
- 简单wait(),notify()方法
1.两个类public class Name{ public static void main(String[] args) throws InterruptedException { User us ...
- HTML基础知识自学教程
HTML 是用来描述网页的一套标记标签,是我们在web前端开发中的基础.下面PHP程序员雷雪松主要结合自己的经验给大家分享下HTML的基础知识,以及在自学过程中一些比较常用的和重要的HTML知识点. ...
- 20190926 - macOS 下查看进程路径
首先,从 Activity Monitor 中查看进程 PID,然后使用以下命令查看. ps xuwww -p PID 另一个办法是,使用系统调用 proc_pidpath . #include &l ...
- 一些php常用函数积累
本文链接 <?php // id: ecffe70d3af54df9bad97b61918ace7d global $ct_path, $ct_log_path; $log_path = &qu ...
- Unity热更新 xLua
xLua是Unity3D下Lua编程解决方案,自2016年初推广以来,已经应用于十多款腾讯自研游戏,因其良好性能.易用性.扩展性而广受好评.现在,腾讯已经将xLua开源到GitHub. 2016年12 ...
- 开发 --- IDE及小工具
django-debug-toolbar 介绍: django-debug-toolbar 是Django调试工具条,提供了各种信息的获取,拥有极强的调试功能. 官网: https://django- ...
- centos7安装Scala、Spark(伪分布式)
centos7安装spark(伪分布式) spark是由scala语言开发的,首先需要安装scala. Scala安装 下载scala-2.11.8,(与spark版本要对应) 命令:wget htt ...
- 并发-synchronized
线程并发-synchronized和Lock简单认知 前几天刚加深了线程的了解,期间在验证各种方法及多线程时遇到一些疑问,在高并发的情况下,怎么做才能保证程序还能按照我们预期的正常运行下去,这就是我们 ...
- kubectl相关指令
在列出.描述.修改或删除其他命名空间中的对象时,需要给kubect1命令传递--namespace(或-n)选项.如果不指定命名空间,kubect1将在当前上下文中配置的默认命名空间中执行操作.而当前 ...
- C++多线程基础学习笔记(九)
一.std::atomic续谈 上一章说到std::atomic是针对一个变量的,这里补充一下针对的变量操作一般是++,+=,--,&=等等运算 .以下这种不可取:a=a+1; 二.std:: ...