У меня есть таблица MySQL, как показано ниже:
ID | article | price | promo_price | delivery_days | stock | received_on
17591 03D/6H 3082.00 1716.21 30 0 2019-03-20
29315 03D/6H 3082.00 1716.21 26 0 2019-03-24
47796 03D/6H 3082.00 1716.21 24 0 2019-03-25
22016 L1620S 685.00 384.81 0 3 2019-03-20
35043 L1620S 685.00 384.81 0 2 2019-03-24
53731 L1620S 685.00 384.81 0 2 2019-03-25
Я создал сводную таблицу для мониторинга биржевых данных.
md = df.pivot_table(
values='stock',
index=['article','price', 'promo_price','delivery_days'],
columns='received_on',
aggfunc=np.sum)
dates = md.columns.tolist()
dates.sort(reverse=True)
md = md[dates]
Это результат
+---------------------------------+--------------+--------------+--------------+
| | 2019-03-25 | 2019-03-24 | 2019-03-20 |
|---------------------------------+--------------+--------------+--------------|
| ('03D/6H', 3082.0, 1716.21, 24) | 0 | nan | nan |
| ('03D/6H', 3082.0, 1716.21, 26) | nan | 0 | nan |
| ('03D/6H', 3082.0, 1716.21, 30) | nan | nan | 0 |
| ('L1620S-KD', 685.0, 384.81, 0) | 2 | 2 | 3 |
+---------------------------------+--------------+--------------+--------------+
Как мне отфильтровать строки и получить цену, промо-цену и дни доставки товара на основе даты последнего поступления товара?
Например: я хочу получить информацию об акциях за все дни, кроме цены, promo_price и дни доставки только 2019-03-25, как показано нижеЯ получаю результат, как и ожидалось.Но если в значениях есть какие-либо изменения, я получаю несколько строк для одной и той же статьи.
Article L1620S данные ожидаемые.Но статья 03D / 6H вылилась в три строки.