首页 > 解决方案 > 查找销售年份之间的差异

问题描述

我有一个分析销售的数据。我取得了一些进展,这是我做的最后一部分,显示了每年(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价值的商店并将其分开,但我很想检查是否有更好的选择。

标签: pythonpandas

解决方案


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

推荐阅读