Pandas, как выполнить повторную выборку между конкретными датами и значениями суммы в пределах диапазонов дат?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Pandas, как выполнить повторную выборку между конкретными датами и значениями суммы в пределах диапазонов дат?

Сообщение Anonymous »

(Этот вопрос является продолжением вопроса «Как использовать Pandas Grouper с частотой 7d и заполнить пропущенные дни 0?»)

У меня есть следующий кадр данных >

Код: Выделить всё

df = pd.DataFrame({
'names': ['joe', 'joe', 'joe'],
'dates': [dt.datetime(2019,6,1), dt.datetime(2019,6,5), dt.datetime(2019,7,1)],
'start_date': dt.datetime(2019,5,1),
'end_date': dt.datetime(2019,7,5),
'values': [5,2,13]
})

names      dates start_date   end_date  values
0   joe 2019-06-01 2019-05-01 2019-07-05       5
1   joe 2019-06-05 2019-05-01 2019-07-05       2
2   joe 2019-07-01 2019-05-01 2019-07-05      13
и я хочу выполнить повторную выборку данных в блоках по 7 дней с диапазонами дат, определенными start_date и end_date.

Мне удалось добиться желаемого результата, используя следующий обходной путь

Код: Выделить всё

temp_df = pd.DataFrame({
'dates': [df.start_date.tolist()[0], dt.end_date.tolist()[0]],
'names': df.names.tolist()[0],
'values': 0
})

concat_df = pd.concat([df, temp_df], axis=0, sort=True)

concat_df.set_index('dates').groupby('names').resample('7D').sum()
который выводит

Код: Выделить всё

                  values
names dates
joe   2019-05-01       0
2019-05-08       0
2019-05-15       0
2019-05-22       0
2019-05-29       5
2019-06-05       2
2019-06-12       0
2019-06-19       0
2019-06-26      13
2019-07-03       0
это то, что я ищу.

Я почти уверен, что есть лучшие способы достижения что. У вас есть предложения?

Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/573 ... ate-ranges
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»