Я хотел бы создать случайный список длиной n
на основе дат, скажем, сентября. Итак, ваш список выглядит следующим образом:
september = ["01/09/2019","02/09/2019",...,"30/09/2019"]
И я хотел бы создать список, который содержит, скажем, 1000 элементов, взятых случайным образом из september
, например:
dates = ["02/09/2019","02/09/2019","07/09/2019",...,"23/09/2019"]
Я мог бы использовать что-то вроде:
dates = np.random.choice(september,1000)
Но уловка в том, что я хочу, чтобы даты выбирались на основе вероятностей дней недели. Например, у меня есть словарь, подобный следующему:
days = {"Monday":0.1,"Tuesday":0.4,"Wednesday":0.1,"Thursday":0.05,"Friday":0.05,"Saturday":0.2,"Sunday":0.1}
Так как "01/01/2019"
было воскресенье, я хотел бы выбрать эту дату из september
с вероятностью 0,1.
MyПопытка состояла в том, чтобы создать список, первым элементом которого является вероятность первой даты в september
, и через 7 дней эта вероятность повторяется и так далее, например:
p1 = [0.1,0.1,0.4,0.1,0.05,0.05,0.2,0.1,0.1,0.4,0.1,0.05,0.05,...]
Очевидно, что это не добавляет к1, поэтому я бы сделал следующее:
p2 = [x/sum(p1) for x in p1]
А затем:
dates = np.random.choice(september,1000,p=p2)
Однако я не уверен, что это действительно работает ... Можете ли вы помочь мне?