我已经学会了如何根据自己NumPy
的好奇心来工作。
似乎最简单的功能最难翻译为代码(我理解代码)。对每种情况的每个轴进行硬编码很容易,但是我想找到一种动态算法,可以在任何轴上以n维求和。官方网站上的文档没有帮助(仅显示结果而不显示过程),并且很难浏览Python/ C代码。
注意: 我确实弄清楚了当对一个数组求和时,指定的轴是“已删除”,即,形状为(4,3,2)且轴为1的数组的总和会得出形状为的数组的答案(4,2)
考虑numpy数组 a
a = np.arange(30).reshape(2, 3, 5)
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 24]
[25 26 27 28 29]]]
尺寸和位置由以下内容突出显示
p p p p p
o o o o o
s s s s s
dim 2 0 1 2 3 4
| | | | |
dim 0 ↓ ↓ ↓ ↓ ↓
----> [[[ 0 1 2 3 4] <---- dim 1, pos 0
pos 0 [ 5 6 7 8 9] <---- dim 1, pos 1
[10 11 12 13 14]] <---- dim 1, pos 2
dim 0
----> [[15 16 17 18 19] <---- dim 1, pos 0
pos 1 [20 21 22 23 24] <---- dim 1, pos 1
[25 26 27 28 29]]] <---- dim 1, pos 2
↑ ↑ ↑ ↑ ↑
| | | | |
dim 2 p p p p p
o o o o o
s s s s s
0 1 2 3 4
通过一些示例,这一点变得更加清楚
a[0, :, :] # dim 0, pos 0
[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]]
a[:, 1, :] # dim 1, pos 1
[[ 5 6 7 8 9]
[20 21 22 23 24]]
a[:, :, 3] # dim 2, pos 3
[[ 3 8 13]
[18 23 28]]
sum
的解释sum
和axis
a.sum(0)
沿所有切片的总和dim 0
a.sum(0)
[[15 17 19 21 23]
[25 27 29 31 33]
[35 37 39 41 43]]
和…一样
a[0, :, :] + \
a[1, :, :]
[[15 17 19 21 23]
[25 27 29 31 33]
[35 37 39 41 43]]
a.sum(1)
是沿着所有切片的总和 dim 1
a.sum(1)
[[15 18 21 24 27]
[60 63 66 69 72]]
和…一样
a[:, 0, :] + \
a[:, 1, :] + \
a[:, 2, :]
[[15 18 21 24 27]
[60 63 66 69 72]]
a.sum(2)
是沿着所有切片的总和 dim 2
a.sum(2)
[[ 10 35 60]
[ 85 110 135]]
和…一样
a[:, :, 0] + \
a[:, :, 1] + \
a[:, :, 2] + \
a[:, :, 3] + \
a[:, :, 4]
[[ 10 35 60]
[ 85 110 135]]
默认轴是-1
指所有轴。或将所有数字相加。
a.sum()
435
问题内容: 有人可以确切解释NumPy中的参数做什么吗? 我很困惑。 我正在尝试使用该功能 最初,我认为如果数组本身是3维,将返回三个元素,该元素由同一位置上所有嵌套项的总和组成。如果每个维度都包含五个维度,则我希望返回五个项目的结果,依此类推。 但是事实并非如此,文档也不能很好地帮助我(他们使用3x3x3数组,因此很难判断发生了什么) 这是我所做的: 显然,结果并不直观。 问题答案: 显然, 轴
使用Chrome DevTools Timeline(时间轴)面板录制和分析应用程序运行时的所有活动。这是开始检查和感知应用程序性能问题的最佳位置。 TL;DR 进行时间轴录制来分析在网页加载或用户互动后发生的每个事件。 在Overview(概览)窗格中查看FPS,CPU和网络请求。 单击 Flame Chart (火焰)图表中的事件可查看其详细信息。 放大录制的一部分,使分析更容易。 Timel
在我添加所有JPA依赖项之前,它工作得很好,但是在我为JPA添加之后,我得到了上面的异常 我该怎么修好它?
我手头有一个简单的任务:使用折线图或XY图或任何使用bean类型的数据源绘制整数-整数值对。有问题的bean返回X轴和Y轴的长值。人们期望的默认行为是在两个轴上显示1、2、3、4等刻度。 但是不,对于在两台不同计算机上运行的同一应用程序,我得到的值类似于2.5或1E1!好的,这篇旧帖子建议将设置为。现在确实显示了整数,但具有重复值,例如0,0,1,2,2,3,3,3,3,3,4,4等。同一篇文章建
google开发人员文档中的描述是: 公共静态CameraUpdate newLatLngBounds(LatLngBounds bounds,int padding)(...).返回的CameraUpdate的方位为0,倾斜度为0。(...)“。 如何更改轴承值?
问题内容: 基本上我在一个图中有两个3d轴,一个通过matplotlib.aninmation构建的动画和一个并排的3d线图。我想添加功能,以便当您旋转一个轴时,另一个跟随它的旋转。例如,将当前视角发送到另一个轴的功能,例如; 等用于比较粒子的动画路径与其预先绘制的轨迹。 问题答案: 为了使mplot3d中两个子图之间的旋转同步,您可以将其连接到一个函数,该函数从旋转的图读取角度并将其应用于其他各