如何生成包含在 numpy 数组中的随机字符串对
How to generate random pairs of strings contained in a numpy array
假设我有以下 numpy 字符串数组:
a = numpy.array(['apples', 'foobar', ‘bananas’, 'cowboy'])
我想从另一个 numpy 矩阵中的那个矩阵生成 len(a)/2 个随机字符串对,而不在每对中重复元素,每对具有唯一对并且每对具有唯一值(每个值都是唯一的每对)。我还需要修复随机数生成器,以便无论算法 运行 多少次,对始终相同。可以吗?
random.choice 方法可能会实现您的目标。
import numpy as np
n_samples = 2
# Set the random state to the same value each time,
# this ensures the pseudorandom array that's generated is the same each time.
random_state = 42
np.random.seed(random_state)
a = np.array(['apples', 'foobar', ‘bananas’, 'cowboy'])
new_a = np.random.choice(a, (2, n_samples), replace=False)
replace=False
确保一个元素只被使用一次,这将产生以下输出。
array([['foobar', 'cowboy'],
['bananas', 'apples']], dtype='<U7')
假设我有以下 numpy 字符串数组:
a = numpy.array(['apples', 'foobar', ‘bananas’, 'cowboy'])
我想从另一个 numpy 矩阵中的那个矩阵生成 len(a)/2 个随机字符串对,而不在每对中重复元素,每对具有唯一对并且每对具有唯一值(每个值都是唯一的每对)。我还需要修复随机数生成器,以便无论算法 运行 多少次,对始终相同。可以吗?
random.choice 方法可能会实现您的目标。
import numpy as np
n_samples = 2
# Set the random state to the same value each time,
# this ensures the pseudorandom array that's generated is the same each time.
random_state = 42
np.random.seed(random_state)
a = np.array(['apples', 'foobar', ‘bananas’, 'cowboy'])
new_a = np.random.choice(a, (2, n_samples), replace=False)
replace=False
确保一个元素只被使用一次,这将产生以下输出。
array([['foobar', 'cowboy'],
['bananas', 'apples']], dtype='<U7')