Найти разницу между годами продаж - PullRequest
0 голосов
/ 12 мая 2018

У меня есть данные, которые анализируют продажи.Я добился определенного прогресса, и это последняя часть, в которой я показывал общий объем продаж каждого магазина за каждый год (2016-2017-2018).

   Store_Key  Year  count   Total_Sales

0   5.0       2016  28      6150.0
1   5.0       2017  39      8350.0
2   5.0       2018  27      5150.0
3   7.0       2016  3664    105370.0
4   7.0       2017  3736    116334.0
5   7.0       2018  3863    99375.0
6   10.0      2016  3930    79904.0
7   10.0      2017  3981    91227.0
8   10.0      2018  4432    97226.0
9   11.0      2016  4084    91156.0
10  11.0      2017  4220    99565.0
11  11.0      2018  4735    113584.0
12  16.0      2016  4257    135655.0
13  16.0      2017  4422    144725.0
14  16.0      2018  4630    133820.0

Я хочу видеть разницу в продажах каждого магазина по годам.Поэтому я использовал сводную таблицу и отображал каждый год в столбце различий.

Store_Key   2016        2017        2018

    5.0     6150.0      8350.0      5150.0
    7.0     105370.0    116334.0    99375.0
    10.0    79904.0     91227.0     97226.0
    11.0    91156.0     99565.0     113584.0
    16.0    135655.0    144725.0    133820.0
    18.0    237809.0    245645.0    88167.0
    20.0    110225.0    131999.0    83302.0
    24.0    94087.0     101062.0    108888.0

Если бы магазины были постоянными, я бы быстро нашел разницу при использовании разницы между столбцами, но, к сожалению, каждый год так много новых магазиновоснование и закрытие.

Итак, мой вопрос: есть ли способ получить разницу в магазинах с помощью показа новых и закрытия магазинов?

Я могу найти магазины со значениями NULL и отделить их, но мне бы очень хотелосьчтобы проверить, есть ли лучшие варианты.

1 Ответ

0 голосов
/ 12 мая 2018

Чтобы получить разницу между 2017 и 2016 годами, вы можете сделать:

 df['evolution'] = df['2017'] - df['2016']

Если вы хотите удалить строки, где есть хотя бы одно значение NaN, вы можете удалить эти строки следующим образом:

df.dropna(axis=0, how='any', inplace=False)

Если у вас 0 вместо NaN, вы можете сделать:

import numpy as np
df.replace(0, np.nan)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...