相关疑难解决方法(0)

NumPy Broadcasting:计算两个数组之间的平方差之和

我有以下代码.它永远在Python中.必须有办法将此计算转换为广播......

def euclidean_square(a,b):
    squares = np.zeros((a.shape[0],b.shape[0]))
    for i in range(squares.shape[0]):
        for j in range(squares.shape[1]):
            diff = a[i,:] - b[j,:]
            sqr = diff**2.0
            squares[i,j] = np.sum(sqr)
    return squares
Run Code Online (Sandbox Code Playgroud)

python numpy numpy-broadcasting

8
推荐指数
1
解决办法
1340
查看次数

如果切片无法解决内存错误,如何合并两个大型numpy数组?

我有两个numpy数组container1以及container2where container1.shape = (900,4000)container2.shape = (5000,4000)。使用合并它们会vstack导致MemoryError。搜索了此处发布的旧问题之后,我尝试使用slicing以下方法将它们合并:

mergedContainer = numpy.vstack((container1, container2[:1000]))
mergedContainer = numpy.vstack((mergedContainer, container[1000:2500]))
mergedContainer = numpy.vstack((mergedContainer, container[2500:3000]))
Run Code Online (Sandbox Code Playgroud)

但是之后即使我这样做:

mergedContainer = numpy.vstack((mergedContainer, container[3000:3100]))
Run Code Online (Sandbox Code Playgroud)

它导致MemoryError

我正在使用Python 3.4.3 (32-Bit)并且想解决而无需转移到64-Bit

python numpy data-analysis

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

标签 统计

numpy ×2

python ×2

data-analysis ×1

numpy-broadcasting ×1