首页 后端开发 Python教程 numpy中的轴与维度

numpy中的轴与维度

Apr 18, 2018 am 11:01 AM
numpy 维度

下面为大家分享一篇对numpy中轴与维度的理解,具有很好的参考价值,希望对大家有所帮助。一起过来看看吧

NumPy's main object is the homogeneous multidimensional array. It is a table of elements (usually numbers), all of the same type, indexed by a tuple of positive integers. In NumPy dimensions are called axes. The number of axes is rank.

For example, the coordinates of a point in 3D space [1, 2, 1] is an array of rank 1, because it has one axis. That axis has a length of 3. In the example pictured below, the array has rank 2 (it is 2-dimensional). The first dimension (axis) has a length of 2, the second dimension has a length of 3.

[[ 1., 0., 0.],
 [ 0., 1., 2.]]
登录后复制

ndarray.ndim

数组轴的个数,在python的世界中,轴的个数被称作秩

>> X = np.reshape(np.arange(24), (2, 3, 4))
  # 也即 2 行 3 列的 4 个平面(plane)
>> X
array([[[ 0, 1, 2, 3],
    [ 4, 5, 6, 7],
    [ 8, 9, 10, 11]],
    [[12, 13, 14, 15],
    [16, 17, 18, 19],
    [20, 21, 22, 23]]])
登录后复制

shape函数是numpy.core.fromnumeric中的函数,它的功能是读取矩阵的长度,比如shape[0]就是读取矩阵第一维度的长度。

shape(x)

(2,3,4)

shape(x)[0]

2

或者

x.shape[0]

2

再来分别看每一个平面的构成:

>> X[:, :, 0]
array([[ 0, 4, 8],
    [12, 16, 20]])
>> X[:, :, 1]
array([[ 1, 5, 9],
    [13, 17, 21]])
>> X[:, :, 2]
array([[ 2, 6, 10],
    [14, 18, 22]])
>> X[:, :, 3]
array([[ 3, 7, 11],
    [15, 19, 23]])
登录后复制

也即在对 np.arange(24)(0, 1, 2, 3, ..., 23) 进行重新的排列时,在多维数组的多个轴的方向上,先分配最后一个轴(对于二维数组,即先分配行的方向,对于三维数组即先分配平面的方向)

reshpae,是数组对象中的方法,用于改变数组的形状。

二维数组

#!/usr/bin/env python 
# coding=utf-8 
import numpy as np 
 
a=np.array([1, 2, 3, 4, 5, 6, 7, 8]) 
print a 
d=a.reshape((2,4)) 
print d
登录后复制

三维数组

#!/usr/bin/env python 
# coding=utf-8 
import numpy as np 
 
a=np.array([1, 2, 3, 4, 5, 6, 7, 8]) 
print a 
f=a.reshape((2, 2, 2)) 
print f
登录后复制

形状变化的原则是数组元素不能发生改变,比如这样写就是错误的,因为数组元素发生了变化。

#!/usr/bin/env python 
# coding=utf-8 
import numpy as np 
 
a=np.array([1, 2, 3, 4, 5, 6, 7, 8]) 
print a 
print a.dtype 
e=a.reshape((2,2)) 
print e
登录后复制

注意:通过reshape生成的新数组和原始数组公用一个内存,也就是说,假如更改一个数组的元素,另一个数组也将发生改变。

#!/usr/bin/env python 
# coding=utf-8 
import numpy as np 
 
a=np.array([1, 2, 3, 4, 5, 6, 7, 8]) 
print a 
e=a.reshape((2, 4)) 
print e 
a[1]=100 
print a 
print e
登录后复制

Python中reshape函数参数-1的意思

a=np.arange(0, 60, 10)
>>>a
array([0,10,20,30,40,50])
>>>a.reshape(-1,1)
array([[0],
[10],
[20],
[30],
[40],
[50]])
登录后复制

如果写成a.reshape(1,1)就会报错

ValueError:cannot reshape array of size 6 into shape (1,1)

>>> a = np.array([[1,2,3], [4,5,6]])
>>> np.reshape(a, (3,-1)) # the unspecified value is inferred to be 2
array([[1, 2],
    [3, 4],
    [5, 6]])
登录后复制

-1表示我懒得计算该填什么数字,由python通过a和其他的值3推测出来。

# 下面是两张2*3大小的照片(不知道有几张照片用-1代替),如何把所有二维照片给摊平成一维
>>> image = np.array([[[1,2,3], [4,5,6]], [[1,1,1], [1,1,1]]])
>>> image.shape
(2, 2, 3)
>>> image.reshape((-1, 6))
array([[1, 2, 3, 4, 5, 6],
    [1, 1, 1, 1, 1, 1]])
登录后复制

相关推荐:

对numpy中array和asarray的区别



以上是numpy中的轴与维度的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

怎么更新numpy版本 怎么更新numpy版本 Nov 28, 2023 pm 05:50 PM

更新numpy版本方法:1、使用“pip install --upgrade numpy”命令;2、使用的是Python 3.x版本,使用“pip3 install --upgrade numpy”命令,将会下载并安装,覆盖当前的NumPy版本;3、若使用的是conda来管理Python环境,使用“conda install --update numpy”命令更新即可。

如何快速查看numpy版本 如何快速查看numpy版本 Jan 19, 2024 am 08:23 AM

Numpy是Python中一个重要的数学库,它提供了高效的数组操作和科学计算函数,被广泛应用于数据分析、机器学习、深度学习等领域。在使用numpy过程中,我们经常需要查看numpy的版本号,以便确定当前环境所支持的功能。本文将介绍如何快速查看numpy版本,并提供具体的代码示例。方法一:使用numpy自带的__version__属性numpy模块自带一个__

numpy版本推荐使用哪个版本 numpy版本推荐使用哪个版本 Nov 22, 2023 pm 04:58 PM

推荐使用最新版本的NumPy1.21.2。原因是:目前,NumPy的最新稳定版本是1.21.2。通常情况下,推荐使用最新版本的NumPy,因为它包含了最新的功能和性能优化,并且修复了之前版本中的一些问题和错误。

升级numpy版本:详细易学的指南 升级numpy版本:详细易学的指南 Feb 25, 2024 pm 11:39 PM

如何升级numpy版本:简单易懂的教程,需要具体代码示例引言:NumPy是一个重要的Python库,用于科学计算。它提供了一个强大的多维数组对象和一系列与之相关的函数,可用于进行高效的数值运算。随着新版本的发布,不断有更新的特性和Bug修复可供我们使用。本文将介绍如何升级已安装的NumPy库,以获取最新特性并解决已知问题。步骤1:检查当前NumPy版本在开始

逐步指导如何在PyCharm中安装NumPy并充分发挥其功能 逐步指导如何在PyCharm中安装NumPy并充分发挥其功能 Feb 18, 2024 pm 06:38 PM

一步步教你在PyCharm中安装NumPy并充分利用其强大功能前言:NumPy是Python中用于科学计算的基础库之一,提供了高性能的多维数组对象以及对数组执行基本操作所需的各种函数。它是大多数数据科学和机器学习项目的重要组成部分。本文将向大家介绍如何在PyCharm中安装NumPy,并通过具体的代码示例展示其强大的功能。第一步:安装PyCharm首先,我们

numpy怎么安装 numpy怎么安装 Dec 01, 2023 pm 02:16 PM

numpy可以通过使用pip、conda、源码和Anaconda来安装。详细介绍:1、pip,在命令行中输入pip install numpy即可;2、conda,在命令行中输入conda install numpy即可;3、源码,解压源码包或进入源码目录,在命令行中输入python setup.py build python setup.py install即可。

numpy版本选择指南:为什么要升级? numpy版本选择指南:为什么要升级? Jan 19, 2024 am 09:34 AM

随着数据科学、机器学习和深度学习等领域的快速发展,Python成为了数据分析和建模的主流语言。在Python中,NumPy(NumericalPython的简称)是一个很重要的库,因为它提供了一组高效的多维数组对象,也是许多其他库如pandas、SciPy和scikit-learn的基础。在使用NumPy过程中,很有可能会遇到不同版本之间的兼容性问题,那么

揭开NumPy库快速卸载的秘密方法 揭开NumPy库快速卸载的秘密方法 Jan 26, 2024 am 08:32 AM

快速卸载NumPy库的方法大揭秘,需要具体代码示例NumPy是一个强大的Python科学计算库,广泛用于数据分析、科学计算以及机器学习等领域。然而,有时候我们可能需要卸载NumPy库,无论是为了更新版本还是因为其他原因。本文将介绍一些快速卸载NumPy库的方法,并提供具体的代码示例。方法一:使用pip卸载pip是Python包管理工具,它可以用于安装、升级和

See all articles