相关疑难解决方法(0)

查看numpy阵列?

我有一个2D numpy数组.有没有办法在其上创建包含第一k行和所有列的视图?

关键是要避免复制基础数据(数组太大,以至于无法制作部分副本.)

python numpy scikits

86
推荐指数
1
解决办法
2万
查看次数

python,numpy boolean array:where语句中的否定

有:

import numpy as np
array = get_array()
Run Code Online (Sandbox Code Playgroud)

我需要做以下事情:

for i in range(len(array)):
    if random.uniform(0, 1) < prob:
        array[i] = not array[i]
Run Code Online (Sandbox Code Playgroud)

数组是一个numpy.array.

我希望我能做类似的事情:

array = np.where(np.random.rand(len(array)) < prob, not array, array)
Run Code Online (Sandbox Code Playgroud)

但我得到以下结果(指'not array'):

具有多个元素的数组的真值是不明确的.使用a.any()或a.all()

为什么我可以获取数组的值而不是它的否定?

目前我解决了:

array = np.where(np.random.rand(len(array)) < prob, - array + 1, array)
Run Code Online (Sandbox Code Playgroud)

但它对我来说看起来很笨拙.

谢谢您的帮助

ps:我不在乎语句是否修改数组.我只需要操作的结果.

另一个问题:我想做这个改变有两个原因:可读性和效率.它有真正的性能提升吗?再次感谢你

python numpy

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

标签 统计

numpy ×2

python ×2

scikits ×1