Произвольно изменить количество значений x на y в массиве размеров az - PullRequest
0 голосов
/ 12 февраля 2020

Новичок в python и ему было интересно, можно ли выполнить вышеперечисленное с помощью python и numpy. У меня есть массив, скажем, размером 10, я хочу изменить 6 случайных значений с их текущего значения на что-то еще, что я установил. Есть ли способ сделать это в numpy?

Ответы [ 2 ]

0 голосов
/ 12 февраля 2020

Например, у вас есть numpy массив arr с размером z, вы хотите случайным образом изменить значения x на y, вы можете попробовать это:

index = np.random.choice(z, x, replace=False)
arr[index] = y

Ссылка для случайного выбора: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.choice.html#numpy .random.choice

0 голосов
/ 12 февраля 2020
Случайный модуль

python обеспечивает выборку метода. Взяв случайную выборку из индексов вашего массива, вы получите список того, что заменить ...

import numpy as np
import random

def randomReplace(arr,n,newValue):
    indicies = random.sample(range(0,len(arr)),n)
    for k in indicies:
        arr[k] = newValue

arr = np.random.rand(10)
print(arr)
arr2 = randomReplace(arr,6,1)
print(arr)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...