Разница с использованием панд

1

Привет, я пытаюсь использовать функцию прокатки 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 ['Добавляет']. roll (window = 2).apply(lambda x: x [1] - x [0])

  • 0
    Вы должны опубликовать свой код.
  • 0
    Это то, с чего я начал, но мне нужно, чтобы рассчитать разницу для каждого элемента. Пока это выглядит как расчет для всех предметов. Кроме того, как я могу значения в столбце вычитания, чтобы получить значение в ежемесячно доступных элементов? вычитает Rolling_triggers ['Добавляет']. Rolling (Window = 2) .Apply (лямбда х: х [1] - х [0])
Показать ещё 5 комментариев
Теги:
pandas

1 ответ

0
Лучший ответ

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

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.

  • 0
    Удивительно, это работало прекрасно, если продлиться до августа, спасибо!
  • 0
    Я не думаю, что будет иметь реальное значение, используете ли вы целое число для представления месяцев или Категориальное.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню