为了账号安全,请及时绑定邮箱和手机立即绑定

如何生成一个numpy数组的随机数?

如何生成一个numpy数组的随机数?

慕尼黑8549860 2022-12-27 17:12:15
有一个numpy array像下面的 numpy 数组。我想integer为特定的 numpy 数组生成一个随机数string。我该如何完成这项任务?# inputX = np.array([['a', 'p', 'b'],              ['a', 'p', 'd'],              ['c', 'p', 'd'],              ['c', 'p', 'e'],              ['c', 'p', 'f']])# outputX = np.array([[100, 5, 101],              [100, 5, 103],              [102, 5, 103],              [102, 5, 104],              [102, 5, 105]])
查看完整描述

1 回答

?
缥缈止盈

TA贡献2041条经验 获得超4个赞

当您想为数组的每个唯一值分配一个随机整数值时,您可以将唯一值映射到字典。


更新


我们需要检查随机数是否用作映射器的值。


from random import randint

import numpy as np



# input

X = np.array([['a', 'p', 'b'],

              ['a', 'p', 'd'],

              ['c', 'p', 'd'],

              ['c', 'p', 'e'],

              ['c', 'p', 'f']])


mapper = {}


output = []

for ar in X:

    temp = []

    for i in range(len(ar)):

        if ar[i] not in mapper:

            random_number = None

            while True:

                random_number = randint(1,120)

                if random_number not in mapper.values():

                    break

            mapper[ar[i]] = random_number

        temp.append(mapper[ar[i]])

    output.append(temp)

output = np.array(output)

print(output)

输出:


[[  7  86 120]

 [  7  86  14]

 [ 51  86  14]

 [ 51  86 113]

 [ 51  86  54]]


查看完整回答
反对 回复 2022-12-27
  • 1 回答
  • 0 关注
  • 81 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信