[code]df['BalanceQty'] = df['qty'].where((df['Type']=='Purchase') | (df['Type']=='return sales'), df['qty'] * -1).groupby(df['item_Id']).cumsum() [/code] [b]My Problem is I need to calculate average Cost balance for every transaction group by Item_Id I try this code but shift() work with old value not new[/b]
[code]df['Cost'] = np.where((df['Type']=='Purchase'), df.qty * df.price, np.where((df['Type']=='return purchase'),df.qty * df.price *-1,0)) df['BalanceCost'] = 0 df['BalanceCost'] = np.where((df['Type']=='Purchase') | (df['Type']=='return purchase'), df['BalanceCost'].shift(1) + df['Cost'], df['BalanceCost'].shift(1)/df['BalanceQty'].shift(1) * df['BalanceQty']) [/code] So I need to calculate the balance cost and unit cost for every transaction
the final result is
[code]|date|item_Id|Type|qty|price|Qty Balance|cost|balanceCost|unit Cost| |:---- |:------:|:------:|:------:|:------:|:------:|:------:|:------:| -----:| |2023-12-24|2|Purchase|5|10|5|50|50.000000|10.000000| |2023-12-24|2|sales|1|50|4|0|40.000000|10.000000| |2023-12-25|2|return purchase|1|10|3|-10|30.000000|10.000000| |2023-12-26|2|Purchase|10|11|13|110|140.000000|10.769231| |2023-12-27|2|return purchase|5|11|8|-55|85.000000|10.625000| |2023-12-28|2|sales|5|40|3|0|31.875000|10.625000| |2023-12-20|3|Purchase|100|10|100|1000|1000.000000|10.000000| |2023-12-21|3|return purchase|10|15|90|-150|850.000000|9.444444| |2023-12-22|3|sales|20|100|70|0|661.111111|9.444444| |2023-12-23|3|return sales|5|100|65|0|613.888889|9.444444| [/code] Equation is [list] [*]for balanceCost IF Purchase or return purchase get previous balanceCost + cost [*]else get previous balanceCost /previous Qty Balance * current Qty Balance [/list] [*]for unit Cost = balanceCost / Qty Balance
Я ищу/хочу реализовать версию pymer4 только для Python, особенно линейные модели со смешанными эффектами.
Здесь я нашел один подход, который выглядит хорошо, но действительно специфичен для этого случая. Кто-нибудь знает другой подход или имеет...
У меня есть таблицы ниже:
Таблица продаж:
введите здесь описание изображения
Таблица инфляции:
введите описание изображения здесь
Я хочу, чтобы Python обновлял значения первой таблицы, умножая каждое значение в первой таблице на инфляцию в таблице 2...
Моя задача — рассчитать среднее время обработки и время ожидания, а также количество прерываний из CSV-файла (1-я строка — это время прибытия, остальные строки суммируются и представляют собой время пакета для каждого работа)