Как я могу сгенерировать случайный день года в указанном квартале года с python? - PullRequest
0 голосов
/ 18 июня 2020

Предположим, что в pandas фрейме данных, который у меня есть для определенной записи:

x.index.quarter

равно 3

Мне нужно сгенерировать целое число от 1 до 365 как день года , который относится к тому же кварталу.

Как pandas определяет годовой квартал? Есть математическая формула? Это зависит только от месяцев?

Ответы [ 2 ]

0 голосов
/ 18 июня 2020

Ниже приводится приблизительное решение (я не знаю, есть ли у python какая-либо функция обработки квартала - с учетом високосных лет). Однако, учитывая общий c характер вопроса, следующее может быть полезным, если предположить, что 3 месяца или 90 дней в квартал:

import random
n=3 #quarter at hand
start=(n-1)*90 + 1 #starting point for current quarter (adding 1 to offset 31 days)
end=n*90 -1 #end point for current quarter (substracting 1 to stay in range of the quarter without doubt)
random_day=random.randint(start,end)
0 голосов
/ 18 июня 2020

Нумерация дней года от 0 до 364, вы можете найти интервал квартала с помощью

q = 3 # Quarter index from 0 to 3
q_length = int(365/4) # 91, length of the quarter 
d_min = q*q_length
d_max = (q+1)*q_length

Затем найдите случайный день года в этом квартале, используя:

d = np.random.randint(d_min, d_max)

Просто замените q на x.index.quarter.

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