Python 如何从2个numpy数组生成双向表?

Python 如何从2个numpy数组生成双向表?,python,python-3.x,numpy,Python,Python 3.x,Numpy,我有两个numpy的数值数组,A和B,长度分别为I和j(I!=j) 我想用它们制作一个双向表,用a的所有元素计算B的每个元素的差值 我知道如何计算使用for循环的每个元素之间的差异,但这使我无法知道从哪个元素B[I]和A[j]计算了C[I][j]差异(我需要进一步分析) 我假设这个表可以很容易地用pandas创建,但不知道哪个函数或如何实现它。提前谢谢 这就是你要找的吗 import numpy as np # Sample data x = np.random.randint(0,10,5)

我有两个numpy的数值数组,
A
B
,长度分别为
I
j
I!=j

我想用它们制作一个双向表,用
a
的所有元素计算
B
的每个元素的差值

我知道如何计算使用for循环的每个元素之间的差异,但这使我无法知道从哪个元素
B[I]
A[j]
计算了
C[I][j]
差异(我需要进一步分析)


我假设这个表可以很容易地用pandas创建,但不知道哪个函数或如何实现它。提前谢谢

这就是你要找的吗

import numpy as np

# Sample data
x = np.random.randint(0,10,5)
y = np.random.randint(0,10,3)

diff_matrix = x[:,None]-y[None,:]
你会得到:

In [1]: print(x)
[2, 8, 0, 8, 8]

In [2]: print(y)
[7, 0, 6]

In [3]: print(diff_matrix)
[-5,  2, -4],
[ 1,  8,  2],
[-7,  0, -6],
[ 1,  8,  2],
[ 1,  8,  2]]

那么
diff_矩阵[i,j]
就是
x[i]-y[j]

这就是你想要的吗

import numpy as np

# Sample data
x = np.random.randint(0,10,5)
y = np.random.randint(0,10,3)

diff_matrix = x[:,None]-y[None,:]
你会得到:

In [1]: print(x)
[2, 8, 0, 8, 8]

In [2]: print(y)
[7, 0, 6]

In [3]: print(diff_matrix)
[-5,  2, -4],
[ 1,  8,  2],
[-7,  0, -6],
[ 1,  8,  2],
[ 1,  8,  2]]

所以
diff_矩阵[i,j]
x[i]-y[j]

请添加样本数据、代码、当前和预期输出。请添加样本数据、代码、当前和预期输出。是的,这比重塑好。是的,这比重塑好。