Как найти данные в отдельном кадре данных (df2) на основе даты в df1, находящейся между значениями диапазона дат в двух Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как найти данные в отдельном кадре данных (df2) на основе даты в df1, находящейся между значениями диапазона дат в двух

Сообщение Anonymous »

У меня есть два кадра данных df1 и df2, где df1 имеет индекс даты и времени, основанный на днях, а df2 имеет два столбца даты «начало недели» и «конец недели», которые представляют собой недельные диапазоны, а также один столбец данных «статистика», который хранит данные, соответствующие диапазону недель.
Я хотел бы добавить в df1 столбец для «статистики», в котором я просматриваю каждую дату (ежедневно, т. е. каждую строку) и пытаюсь найдите соответствующую «статистику» в зависимости от недели, на которую приходится эта дата.
Я считаю, что ответ потребует объединения df2 с df1, но я не понимаю, как действовать дальше.
df1: (примечание: я пропустил строки между 12.06.2019 и 16.06.2019, чтобы пример был кратким.)



дата
возраст




10.06.2019
20


11 июня 2019
21


17.06.2019
19


18 июня 2019 г.
18



df2:



начало недели
конец недели
статистика




10.06.201914 июня 2019
102


17.06.2019
21 июня 2019
100


24 июня 2019 г.
28 июня 2019 г.< /td>
547


2019-07-02
2019-07-25
268



Желаемый вывод:



дата
возраст
статистика




2019-06-10
20
102


11.06.2019< /td>
21
102


17.06.2019
19
100


18 июня 2019
18
< td style="text-align: left;">100



код для фреймов данных d1 и d2
import pandas as pd

import datetime

data1 = {
'date': ['2019-06-10', '2019-06-11', '2019-06-17', '2019-06-18'],
'age': [20, 21, 19, 18]
}
data1['date'] = pd.to_datetime(data1['date'])
df1 = pd.DataFrame(data1)
df1.set_index('date', inplace=True)

data2 = {
'wk start': ['2019-06-10', '2019-06-17', '2019-06-24', '2019-07-02'],
'wk end': ['2019-06-14', '2019-06-21', '2019-06-28', '2019-07-05'],
'height': [120, 121, 119, 118]
}
data2['wk start'] = pd.to_datetime(data2['wk start'])
data2['wk end'] = pd.to_datetime(data2['wk end'])
df2 = pd.DataFrame(data2)


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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Объедините два кадра данных Pandas рядом с результирующей длиной `max(df1, df2)`
    Anonymous » » в форуме Python
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Объедините два кадра данных Pandas рядом с результирующей длиной `max(df1, df2)`
    Anonymous » » в форуме Python
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Объедините два кадра данных Pandas рядом с результирующей длиной `max(df1, df2)`
    Anonymous » » в форуме Python
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Объедините два кадра данных Pandas рядом с результирующей длиной `max(df1, df2)`
    Anonymous » » в форуме Python
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Как идентифицировать строки df1, содержащие элемент, содержащийся в df2 в Python?
    Anonymous » » в форуме Python
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous

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