小编4be*_*ars的帖子

4D numpy 数组上的矩阵乘法

我需要对两个 4D 数组(m 和 n)执行矩阵乘法,m 和 n 的尺寸分别为 2x2x2x2 和 2x3x2x2,这应该会产生 2x3x2x2 数组。经过大量研究(主要在本网站上),似乎可以使用np.einsumnp.tensordot有效地完成此操作,但我无法复制从 Matlab 获得的答案(手动验证)。我了解这些方法(einsum和tensordot)在二维数组上执行矩阵乘法时如何工作(这里清楚地解释了清楚解释),但我无法获得 4D 数组的正确轴索引。显然我\xe2\x80\x99m 缺少一些东西!我的实际问题涉及两个 23x23x3x3 复数数组,但我的测试数组是:

\n\n
a = np.array([[1, 7], [4, 3]]) \nb = np.array([[2, 9], [4, 5]]) \nc = np.array([[3, 6], [1, 0]]) \nd = np.array([[2, 8], [1, 2]]) \ne = np.array([[0, 0], [1, 2]])\nf = np.array([[2, 8], [1, 0]])\n\nm = np.array([[a, b], [c, d]])              # (2,2,2,2)\nn = np.array([[e, f, a], [b, d, c]])        # (2,3,2,2)\n
Run Code Online (Sandbox Code Playgroud)\n\n

我意识到复数可能会带来更多问题,但现在,我只是想了解索引如何与 …

python arrays numpy matrix

5
推荐指数
1
解决办法
6039
查看次数

对 Altair 列顺序进行排序

我是 Altair 的新手,粗略地结合了这里这里的一些代码,这给了我下面的图,但我无法弄清楚为什么我的列以非顺序顺序显示。我的数据框如下:

import pandas as pd

TimeMth = pd.DataFrame([['Jul-2011', '> 1.1 pu',  86],
                       ['Jul-2011', '< 0.94 pu',  18],
                       ['Aug-2011', '> 1.1 pu',  205],
                       ['Aug-2011', '< 0.94 pu', 510],
                       ['Sep-2011', '> 1.1 pu',   53],
                       ['Sep-2011', '< 0.94 pu', 140],
                       ['Oct-2011', '> 1.1 pu',   10],
                       ['Oct-2011', '< 0.94 pu',   0],
                       ['Nov-2011', '> 1.1 pu',   36],
                       ['Nov-2011', '< 0.94 pu',  13],
                       ['Dec-2011', '> 1.1 pu',    7],
                       ['Dec-2011', '< 0.94 pu',   0],
                       ['Jan-2012', '> 1.1 pu',   17],
                       ['Jan-2012', '< …
Run Code Online (Sandbox Code Playgroud)

python-3.x pandas altair

3
推荐指数
1
解决办法
3512
查看次数

标签 统计

altair ×1

arrays ×1

matrix ×1

numpy ×1

pandas ×1

python ×1

python-3.x ×1