görmezden geldiği Pandalar birikimi Pandalar veri grubunu topluyorum: data
. Spesifik olarak, ortalama ve amount
s değerini [origin
ve type
] ile elde etmek istiyorum. ortalama ve toplanmasıyla için aşağıda numpy fonksiyonları çalıştı:NaN'in
import numpy as np
import pandas as pd
result = data.groupby(groupbyvars).agg({'amount': [ pd.Series.sum, pd.Series.mean]}).reset_index()
Sorunum amount
kolon NaN
ortalama ve toplamlar çok şey var için yukarıdaki kod result
neden NaN
s içerir olmasıdır.
pd.Series.sum
ve
pd.Series.mean
varsayılan olarak
skipna=True
var biliyorum, bu yüzden neden hala burada
NaN
s alıyorum?
data.groupby(groupbyvars).agg({'amount': [ pd.Series.sum(skipna=True), pd.Series.mean(skipna=True)]}).reset_index()
DÜZENLEME: @ bugune kadar geçen zaman önerisine üzerine , ben de aşağıda bir partial
kullanmaya çalıştı:
Ben de tabii ki işe yaramadı bu, hangi çalıştı
s_na_mean = partial(pd.Series.mean, skipna = True)
data.groupby(groupbyvars).agg({'amount': [ np.nansum, s_na_mean ]}).reset_index()
ama bu hatayı alın:
error: 'functools.partial' object has no attribute '__name__'
bazı örnek verileri gönderir misiniz: Eğer
nanmean
yoksa eğer öyleyse, ens_na_mean
tanımlamak ve bu kullanalım? Ayrıca, 'pd.Series.sum' yerine, '' sum'' kullanmanız yeterlidir - kod daha hızlı bir yol almalıdır. – chrisbTeşekkür ederim, 'pd.Series.sum' jus becasue 'skipna' seçeneği vardı kullanmaya karar verdim. Korem'in yanıtını okumak için şimdi 'np.nansum'unu kullanıyorum. Ama 'np.nanmean' benim numümüm versiyonumda (1.7.1) mevcut değil. Bir süre alabilecek temsili verileri yayınlamaya çalışacağım. – Rhubarb