- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章对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
2
|
[[
1.
,
0.
,
0.
],
[
0.
,
1.
,
2.
]]
|
ndarray.ndim 。
数组轴的个数,在python的世界中,轴的个数被称作秩 。
1
2
3
4
5
6
7
8
9
|
>> 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 。
再来分别看每一个平面的构成:
1
2
3
4
5
6
7
8
9
10
11
12
|
>> 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,是数组对象中的方法,用于改变数组的形状.
二维数组 。
1
2
3
4
5
6
7
8
|
#!/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
|
三维数组 。
1
2
3
4
5
6
7
8
|
#!/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
|
形状变化的原则是数组元素不能发生改变,比如这样写就是错误的,因为数组元素发生了变化.
1
2
3
4
5
6
7
8
9
|
#!/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生成的新数组和原始数组公用一个内存,也就是说,假如更改一个数组的元素,另一个数组也将发生改变.
1
2
3
4
5
6
7
8
9
10
11
|
#!/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的意思 。
1
2
3
4
5
6
7
8
9
10
|
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) 。
1
2
3
4
5
|
>>> 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推测出来.
1
2
3
4
5
6
7
|
# 下面是两张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中轴与维度的理解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我.
原文链接:https://blog.csdn.net/u014082714/article/details/75946302 。
最后此篇关于对numpy中轴与维度的理解的文章就讲到这里了,如果你想了解更多关于对numpy中轴与维度的理解的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我想使用批处理从文件夹中读取图像。但是解码后,当我使用tf.train.batch时可能会出现一些问题。这是代码。 def get_batch(image, label, batch_size, ca
我正在使用 tf.unsorted_segment_sum TensorFlow 的方法,当我作为数据给出的张量只有一行时,它工作正常。例如: tf.unsorted_segment_sum(tf.c
我想创建一个正则表达式来检查有效维度JavaScript 中的长度 x 宽度 x 高度。 例如90.49 x 34.93 x 40.64 我打算使用的示例代码: var dimensionRegex
ViewPager 是否必须是 Activity 布局中唯一存在的对象?我正在尝试实现这样的东西: 我应该在什么地方有一个大的寻呼机在顶部滚动(我有)和一个较小的画廊在它下面滚动。这只向我显示寻
据我所知,(维度、维度属性和事实)差异的最佳示例如下所示: 维度 - 产品、帐户、客户 维度属性 - ProductName、ProductNumber、CustomerName、CustomerNu
我是 Numpy 的新手,正在尝试理解什么是维度的基本问题, 我尝试了以下命令并试图理解为什么最后两个数组的 ndim 相同? >>> a= array([1,2,3]) >>> a.ndim 1 >
我对 MDX 比较陌生,正在尝试完成我认为应该很容易的事情,但我还没有找到任何解决方案。 我有一个销售立方体,其中一个衡量标准是利润,它可以是负数也可以是正数。我想得到一个有效的正利润总和的度量,即只
在大多数情况下,维度内层次结构的每个级别代表不同的概念(即国家->地区->城市、年->月->日),这很简单,可以在多维数据集中使用。 我感兴趣的是可变深度层次结构,它往往由相同概念的实例组成,即计算机
我正在尝试创建一个方法来总结潜在的项目并从数组返回该总和。以下是一些预期的示例输入: arraySum(new int[10]); // 10 arraySum(new int[2][5]); //
我正在尝试初始化一个二维数组(我创建的类对象),但我仍然遇到相同的运行时错误: Exception in thread "main" java.lang.NullPoointerException
(我是一名学生,这是我第一次发帖,所以请放轻松。)我想创建一个将二维数组作为参数的函数,并且在该数组中,我想要一个变量,稍后我想在代码中对其进行修改。这是最接近我想要的例子的东西: int size;
我想我可能会问一个虚拟问题,但我对 Android 编程还是个新手,而且我无法(尽管我付出了所有努力)在 Google 上找到我的答案。 问题是,我正在尝试使用 2D 图形开发一个小游戏。我希望我的“
如何使用 Crossfilter 过滤一系列日期?当我知道该时间段之间存在事实记录时,以下内容不起作用。 Var myDimension = CrossFilterObj.dimension(func
我正在启动另一个应用程序并设置其主要 HWND 位置和大小。我正在使用 STARTUPINFO指定窗口尺寸的标志,但看起来只有在新进程使用 CW_USEDEFAULT 时才会遵循这些尺寸在其 Crea
我正在尝试使用 Keras 构建我的第一个神经网络。我的经验为零,我似乎无法弄清楚为什么我的维度不对。我无法从他们的文档中弄清楚这个错误在提示什么,甚至是什么层导致了它。 我的模型接受一个 32 字节
我有一个水平导航栏,我的 a 元素没有扩展到父 li 元素的宽度和高度。 如何修改我的 CSS,使 a 元素与外部/父级 li 元素一样宽和高?
如何只更改需要 Dimension 对象的组件的宽度或高度?目前我是这样做的: jbutton.setPreferredSize(new Dimension(button.getPreferredSi
哪些 OLAP 工具支持动态、动态地创建维度或层次结构? 例如,层次结构将成员定义为:“前 5 名”、“前 6-10 名”、“其他”... 计算成员是通常的答案,我正在寻找不同的东西。计算器的问题。成
我使用 1 个 div 元素为我的网站制作 .background 。它的高度将是 100%。为了实现这一点,我使用 jQuery 尺寸实用程序。 用这个脚本来获取高度 $('.background
MultiArray与使用 std::vector 创建多数组相比,在 boost 中有很多优势。但是,我对 BOOST 中的 MultiArray 感到不舒服的一件事是创建一个可以轻松更改其大小的多
我是一名优秀的程序员,十分优秀!