tarafından bu Pandas: Filtering pivot table rows where count is fewer than specified value kopyası olabilir ama ben NaN hatası Emir, alışveriş değerleri, müşteri kimliği ve tarihlerin bir veri çerçevesi (df) sahipPandalar filtre pivot tablo değeri
almaya devam;
id, date, order_count, daily_order_value
Süre boyunca, bir defadan fazla, üç ve on kez sipariş veren toplam harcamaları görmek istiyorum. Pnon_merch
ct_order order_value
sum mean sum
guest_id
4813 1 2020.6400 2020.64
baskı
Pnon_merch = pivot_table(dffilter, index =["guest_id"]
, values=['ct_order','order_value']
,aggfunc= {'ct_order':np.sum,'order_value': [np.sum,np.mean]})
bir tablo oluşturur ama
Pnon_merch_is1 = Pnon_merch[Pnon_merch["ct_order"]==1]
çalıştığımda
ct_order order_value
sum mean sum
guest_id
4813 NaN NaN NaN
truefalse = [Pnon_merch["ct_order"]==1]
Gerçek bir listesini verir, NaN bir listesini almak/Yanlış
[ sum
guest_id
4813 True
6517 True
7876 False
Neden True/false NaN?
Bu örnekte, Filtering based on the "rows" data after creating a pivot table in python pandas yalnızca dizin değil, değerleri filtreliyor gibi görünüyor.
(GroupBy seviyesi = 0 doğru ya sonuç vermezse) sayesinde
böyle
Çünkü günlük order_value'nizde alt çizgi eksik mi? – Jarad
, düzenlemeleriniz ve önerileriniz @johnE ile güncellendi – conr404
Doğru zaman ayırdığınız için teşekkürler, ama en üstte, orijinal df (veya küçük bir yaklaşım) oluşturmak için kod olması güzel. Aksi halde hiç kimse, aynı sorunu yaşamadığınız bir örnek veri çerçevesi oluşturmadan çalışıp çalışmadığını görmek için kodlarını test edemez. – JohnE