Разница с использованием панд - PullRequest
0 голосов
/ 30 августа 2018

Здравствуйте. Я пытаюсь использовать функцию проката Pandas для расчета разницы прокрутки в таблице ниже. Я пытаюсь получить значения в столбце Доступные объекты ежемесячно и нигде не получаю. Пожалуйста, помогите!

Item    Adds    Subtracts   Month   Monthly Available items
A       71       30          Jan       41
B       19        7          Jan       12
C       68       30          Jan       38
D       34       19          Jan       15
E       180      91          Jan       89
C       58       34          Feb       62
E       222      129         Feb       182
D       26       21          Feb       20
B       65       26          Feb       51
A       62       58          Feb       45

Код Python:

roll_triggers ['Добавляет']. Rolling (окно = 2) .apply (лямбда-x: x [1] - x [0])

1 Ответ

0 голосов
/ 31 августа 2018

Если я правильно понимаю ваш код и комментарии, это будет делать то, что вы хотите:

months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']

df['Month'] = pd.Categorical(df['Month'], categories = months)
df = df.sort_values(['Item', 'Month'])
df['Net_Items'] = df['Adds'] - df['Subtracts']
df['Monthly_Available_Items'] = df.groupby('Item')['Net_Items'].cumsum()
df = df.reset_index(drop = True)

Будет возвращено:

  Item  Adds  Subtracts Month  Net_Items  Monthly_Available_Items
0    A    71         30   Jan         41                       41
1    A    62         58   Feb          4                       45
2    B    19          7   Jan         12                       12
3    B    65         26   Feb         39                       51
4    C    68         30   Jan         38                       38
5    C    58         34   Feb         24                       62
6    D    34         19   Jan         15                       15
7    D    26         21   Feb          5                       20
8    E   180         91   Jan         89                       89
9    E   222        129   Feb         93                      182

Сначала преобразуйте столбец месяца в Категориальный (поскольку в алфавитном порядке декабрь до января и т. Д.). Затем вычислите Net_Items как разницу между Adds и Subtracts. Наконец, рассчитать совокупную сумму для каждого из продуктов.

Предполагая, что январь является первым месяцем, интуиция состоит в том, что было добавлено 71 из Item A и 30 удалено, что в сумме составило 31. В следующем месяце было добавлено 62 и 58 было удалено, поэтому итоговая сумма составила 4 добавляется к чистому итогу за предыдущий месяц, равному 41, для промежуточного итога 45.

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