Случайные числа, сгенерированные в процентах от максимального значения - PullRequest
0 голосов
/ 05 марта 2020

Я использую следующий подход, чтобы добавить 50 чисел к своему коду

for i in range(0, 50):
    data = data.append({"describe_file": "This is the start of the story", "data_numbers": data.data_numbers.max() + np.random.randint(1000, 2000) }, ignore_index=True)`

Я пытаюсь изменить код, вместо того, чтобы просто добавлять случайные числа между 1000-2000. Следует добавить в процентах, поэтому допустим, что мое максимальное значение равно

data_numbers.max()
1000

Я хочу добавить случайные числа, которые, например, 5% больше максимального значения

1 Ответ

1 голос
/ 05 марта 2020

Я думаю, что нашел ответ на то, что вы пытаетесь сказать

import pandas as pd
from random import uniform

def funct(data, a = 0.05, b = 1): # the default parameters correspond a range from 0.5% to 1%
  return round((max([n for n in data])) * (random.uniform(a, b))) # with uniform you can use float numbers to multiply and get the random porcentage of the max-value.

your_list = []
for i in range(0, 50):
  your_list.append(funct(data.data_numbers)))

Со списком в качестве примера данных:

data = [0, 1231, 3249, 69, 999, 12312, 12]
for i in range(0, 10):
  print(funct(data)) # remember that you can add a and b as your random percentage range.

1662
9049
3839
8732
9285
8752
8161
7039
9884
12068

Я надеюсь, что это решило ваш вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...