这是我的代码的缩短版本:
`dist_array = ssd.cdist(test[y], training)`
Run Code Online (Sandbox Code Playgroud)
测试[y]印刷的是
[ 0.00000000e+00 1.79900000e+01 1.03800000e+01 1.22800000e+02
1.00100000e+03 1.18400000e-01 2.77600000e-01 3.00100000e-01
1.47100000e-01 2.41900000e-01 7.87100000e-02 1.09500000e+00
9.05300000e-01 8.58900000e+00 1.53400000e+02 6.39900000e-03
4.90400000e-02 5.37300000e-02 1.58700000e-02 3.00300000e-02
6.19300000e-03 2.53800000e+01 1.73300000e+01 1.84600000e+02
2.01900000e+03 1.62200000e-01 6.65600000e-01 7.11900000e-01
2.65400000e-01 4.60100000e-01 1.18900000e-01]
Run Code Online (Sandbox Code Playgroud)
印刷(缩短)的培训是:
[[ 0.00000000e+00 1.92100000e+01 1.85700000e+01 ..., 2.09100000e-01
3.53700000e-01 8.29400000e-02]
[ 0.00000000e+00 1.47100000e+01 2.15900000e+01 ..., 1.83400000e-01
3.69800000e-01 1.09400000e-01]
[ 1.00000000e+00 1.30500000e+01 1.93100000e+01 ..., 1.11100000e-02
2.43900000e-01 6.28900000e-02]
...,
[ 0.00000000e+00 1.66000000e+01 2.80800000e+01 ..., 1.41800000e-01
2.21800000e-01 7.82000000e-02]
[ 0.00000000e+00 2.06000000e+01 2.93300000e+01 ..., 2.65000000e-01
4.08700000e-01 1.24000000e-01]
[ 1.00000000e+00 7.76000000e+00 2.45400000e+01 ..., 0.00000000e+00
2.87100000e-01 7.03900000e-02]]
Run Code Online (Sandbox Code Playgroud)
两者都有31列.有没有办法找到阵列XA和阵列XB的每一行之间的距离,并将距离输出到另一个阵列?
非常感谢你!
You need to change them into 2-D arrays:
import numpy as np
np.array([1,2,3,4]).shape
--(4,)
np.array([1,2,3,4]).reshape(-1,1).shape
--(4,1)
np.array([1,2,3,4]).reshape(1,-1).shape
--(1,4)
Run Code Online (Sandbox Code Playgroud)
此处讨论:http ://comments.gmane.org/gmane.comp.python.scientific.user/29106
newaxis
您需要使用例如运算符:将一维数组广播为二维数组distance.cdist(ref_1d[numpy.newaxis, :], query_2d)
。
归档时间: |
|
查看次数: |
6831 次 |
最近记录: |