查找年度销售之间的差异

时间:2018-05-12 11:37:39

标签: python pandas

我有一个分析销售的数据。我取得了一些进展,这是我做的最后一部分,显示了每个商店每年的销售总额(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 :(得分:0)

要获得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)