Python - столбец даты и времени из одного кадра данных и поиск диапазона времени и даты из другого кадра данных - PullRequest
0 голосов
/ 08 февраля 2019

Я новичок в Python, и это мой первый вопрос.

У меня есть df1: DF1:

period  id  cust_id product_id  start_time  end_time
20181001    1   aa  2   01/10/2018 19:04    01/10/2018 19:31
20181001    1   zz  9   01/10/2018 15:57    01/10/2018 16:00
20181001    1   zz  178 01/10/2018 13:01    01/10/2018 13:36
20181001    1   zz  231 02/10/2018 02:51    02/10/2018 02:51

df2: (посмотрите таблицу)

PERIOD  product_id  Name    Product_info    START_TIME  END_TIME
20181001    2   Xab GHI 01/10/2018 19:00    01/10/2018 19:29
20181001    2   Xab QQQ 01/10/2018 19:30    01/10/2018 19:59
20181001    2   Xab asd 01/10/2018 20:00    01/10/2018 20:29
20181001    9   S2  Angele  01/10/2018 14:00    01/10/2018 14:59
20181001    9   S2  Road    01/10/2018 15:00    01/10/2018 15:59
20181001    9   S2  Flash   01/10/2018 16:00    01/10/2018 16:59
20181001    9   S2  Simpson 01/10/2018 17:00    01/10/2018 17:29
20181001    178 T3  Chase   01/10/2018 13:00    01/10/2018 13:59
20181001    178 T3  Chase   01/10/2018 14:00    01/10/2018 14:59
20181001    178 T3  Elaine  01/10/2018 15:00    01/10/2018 15:59

Мне нужен результат в DF1 следующим образом: результат в DF1:

period  id  cust_id product_id  start_time  end_time    Product_info    Name
20181001    1   aa  2   01/10/2018 19:04    01/10/2018 19:31    GHI Xab
20181001    1   aa  2   01/10/2018 19:04    01/10/2018 19:31    QQQ Xab
20181001    1   zz  9   01/10/2018 15:57    01/10/2018 16:00    Road    S2
20181001    1   zz  9   01/10/2018 15:57    01/10/2018 16:00    Flash   S2
20181001    1   zz  178 01/10/2018 13:01    01/10/2018 13:36    Chase   T3
20181001    1   zz  231 02/10/2018 02:51    02/10/2018 02:51    None    None

И DF1, и DF2 - действительно большие таблицы с большим количеством строк.Пожалуйста, помогите мне решить проблему.

Я также добавляю изображение таблиц. введите описание изображения здесь

Заранее спасибо.

1 Ответ

0 голосов
/ 08 февраля 2019

Похоже, вы хотите merge ваших двух фреймов данных, но вы не указали никаких критериев.Непонятно, почему вы хотите исключить определенные записи.

См. здесь о том, как структурировать вопрос, чтобы мы могли помочь наиболее.

df1.merge(df2[['product_id', 'Product_info', 'Name']], on='product_id', how='outer')

В результате:

      period  id cust_id  product_id        start_time          end_time  \
0   20181001   1      aa           2  01/10/2018 19:04  01/10/2018 19:31
1   20181001   1      aa           2  01/10/2018 19:04  01/10/2018 19:31 
2   20181001   1      aa           2  01/10/2018 19:04  01/10/2018 19:31
3   20181001   1      zz           9  01/10/2018 15:57  01/10/2018 16:00
4   20181001   1      zz           9  01/10/2018 15:57  01/10/2018 16:00
5   20181001   1      zz           9  01/10/2018 15:57  01/10/2018 16:00
6   20181001   1      zz           9  01/10/2018 15:57  01/10/2018 16:00
7   20181001   1      zz         178  01/10/2018 13:01  01/10/2018 13:36
8   20181001   1      zz         178  01/10/2018 13:01  01/10/2018 13:36
9   20181001   1      zz         178  01/10/2018 13:01  01/10/2018 13:36
10  20181001   1      zz         231  02/10/2018 02:51  02/10/2018 02:51

   Product_info Name
0           GHI  Xab
1           QQQ  Xab
2           asd  Xab
3        Angele   S2
4          Road   S2
5         Flash   S2
6       Simpson   S2
7         Chase   T3
8         Chase   T3
9        Elaine   T3
10          NaN  NaN

Высм. здесь для получения дополнительной информации о слиянии.

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