我已经用谷歌搜索了一下,没有找到任何好的答案。
问题是,我有一个2d的numpy数组,我想在随机位置替换其一些值。
我使用numpy.random.choice找到了一些答案来为数组创建掩码。不幸的是,这不会在原始数组上创建视图,因此我无法替换其值。
所以这是我想做的一个例子。
想象一下,我有带有浮点值的二维数组。
[[ 1., 2., 3.],
[ 4., 5., 6.],
[ 7., 8., 9.]]
然后,我想替换任意数量的元素。如果我可以用一个参数调整要替换多少个元素,那将是很好的。可能的结果如下所示:
[[ 3.234, 2., 3.],
[ 4., 5., 6.],
[ 7., 8., 2.234]]
我想不出一个好办法来实现这一目标。感谢帮助。
编辑
感谢您的所有快速回复。
只需使用相同形状的任意一个掩盖您的输入数组即可。
import numpy as np
# input array
x = np.array([[ 1., 2., 3.], [ 4., 5., 6.], [ 7., 8., 9.]])
# random boolean mask for which values will be changed
mask = np.random.randint(0,2,size=x.shape).astype(np.bool)
# random matrix the same shape of your data
r = np.random.rand(*x.shape)*np.max(x)
# use your mask to replace values in your input array
x[mask] = r[mask]
产生这样的东西:
[[ 1. 2. 3. ]
[ 4. 5. 8.54749399]
[ 7.57749917 8. 4.22590641]]
问题内容: 有没有一种简单的方法可以将数组中的所有负值都替换为0? 我对如何使用NumPy数组有一个完整的了解。 例如 我要回去 给出: 这就是我遇到的问题-如何使用此数组修改原始数组。 问题答案: 你在那儿 尝试:
问题内容: 我有两个相关的numpy数组和。我需要从中选择随机行,并将其存储在数组中,并将其对应的值附加到随机选择的点的索引上。 我有另一个数组,它存储我不想采样的索引列表。 我怎样才能做到这一点? 样本数据: 如果这些是随机选择的(其中): 所需的输出将是: 我怎样才能做到这一点? 问题答案: 您可以使用以下方法创建随机索引: 然后,您只需要使用结果索引数组:
numpy.random 模块对 Python 内置的 random 进行了补充,增加了一些用于高效生成符合多种概率分布的样本值的函数。这一小节将详述如何用 Numpy 快速创建随机数矩阵。 1. 创建符合均匀分布的随机数组 1.1 numpy.random.rand 函数 numpy.random.rand 函数通常用来创建一个服从 “0~1” 均匀分布的随机浮点数(组),随机样本取值范围是[0
有没有一种方法可以让你使用打印给定数组中的元素? 所以输出将是 或者 或
我有一个2D NumPy数组,希望将其中大于或等于阈值T的所有值替换为255.0。据我所知,最基本的方法是: 有没有更快(可能不那么简洁和/或不那么pythonic)的方法可以做到这一点? 这将是用于人头MRI扫描的窗口/水平调整子程序的一部分。2D numpy数组是图像像素数据。
问题内容: 首先,如果在其他地方已回答我,我深表歉意。我所能找到的只是有关替换给定值的元素而不是多个值的元素的问题。 背景 我有数千个大型np.arrays,如下所示: 在这些数组中,我想根据字典替换值: 方法 目前,我正在使用一个简单的循环,并结合了花式索引: 问题 我的数组的尺寸是2000到2000年,字典有大约1000个条目,因此,这些循环要花很长时间。 题 是否有一个函数,该函数仅采用字典
问题内容: 我有一个字符串数组: 我从中得到随机元素: 现在我想获得当我按下按钮以获取随机水果时苹果所处的数字,例如当我按下randon按钮时,它给了我Banana ..并且还应该给我那个元素编号是 我得到了元素,但是获取元素编号有问题,所以请帮帮我 问题答案: 只需将生成的索引存储在变量中,然后使用此变量访问数组: PS我通常不喜欢每次随机化生成新对象-我更喜欢在程序中使用单个对象- 然后重新使
我在用Java做一个随机替换密码。基本上,程序要求你输入一个句子,你输入这个句子,然后使用随机生成的字母表对它进行加密。用户可以选择加密或解密。然后在屏幕上显示加密的密文。如果用户选择这样做,程序将解密密码并显示原始的纯文本消息。 以下是我目前掌握的信息: 这只是生成随机字母表。不过,我不知道如何实现实际的encrypt方法。我可以自己处理文件IO和对用户的提示。我只是不明白如何创建替换算法。非常