Merhaba,
Ortalama maliyet bulmaya çalıştığım bir csv dosyam var. Aşağıdaki örnek bir ürün için csv nin kısılatılmış hali bunun gibi bir çok ürün var csv dosyasında.
id tarih eylem urun kod birim miktar birim fiyat masraf toplam
24 7/27/2022 ALIS makarna mrk TL 12 4.75 0.12 57.12
37 8/5/2022 ALIS makarna mrk TL 12 5.07 0.13 60.97
38 8/9/2022 SATIS makarna mrk TL 12 5.25 0.13 62.87
39 8/9/2022 SATIS makarna mrk TL 12 5.25 0.13 62.87
83 9/13/2022 ALIS makarna mrk TL 22 10 0.46 220.46
89 9/16/2022 ALIS makarna mrk TL 5 7.2 0.08 36.08
115 10/6/2022 ALIS makarna mrk TL 5 8.13 0.09 40.74
urun = df_islemler['kod']=="mrk"
eylem1 = df_islemler['eylem']=="ALIS"
eylem2 = df_islemler['eylem']=="SATIS"
urun_miktari = ((df_islemler.loc[urun&eylem1, 'miktar']).sum())-((df_islemler.loc[urun&eylem2, 'miktar']).sum())
if urun_miktari == 0:
print("Stokta Ürün Yok")
else:
deger=urun_miktari*(guncel_liste(mrk))
print(deger)
Yukarıdaki şekilde yaptığımda (yani tüm ALIS ları topla, tüm SATIS ları topla ve bunların farkını al dediğimde) elimde kaç adet ürün olduğunu görebiliyorum. Sonrasında güncel_liste fonksiyonundan ürünün fiyatını alıp elimdeki stokla çarparak stok değerimi bulabiliyorum.
Asıl sorun buradan sonra başlıyor.
Bu liste özelinde bakacak olursak ilk 4 satırda 24 tane alınmış ve 24 tane satılmış. Ondan sonra elde 32 tane daha ürün alınmış. Bu 32 ürünün ortalama maliyeti 9.29 (toplam/32) ama bunu formülüze edemedim.
Fikri olan