Python 如何从2个numpy数组生成双向表?
我有两个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)
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]
请添加样本数据、代码、当前和预期输出。请添加样本数据、代码、当前和预期输出。是的,这比重塑好。是的,这比重塑好。