与大熊猫和螺旋桨列的日期平均值



我的数据集中有一个'日期'列,其中缺少值。我想拿那列的平均值,到目前为止,我已经尝试过:

from sklearn.preprocessing import Imputer
df = pd.read_csv('train.csv') 
imputer = Imputer(missing_values='Nan',strategy ='mean',axis=0)
imputer=imputer.fit(df[:,16]) 
df[:,16]=imputer.transform(df[:,16])

这给我一个错误的类型切片。任何人都可以就列中的正确方法提供什么?

的正确方法?

采取一堆日期的平均值的一种方法是首先转换为朱利安日期。

在熊猫中,带有一个可以完成的日期索引数据框架:

dat['Julian_date']=dat.index.to_julian_date()
mean_date=dat.Julian_date.mean()

然后,您需要将Julian日期转换回Pandas Date Time,这并不难。可能有一种更好的方法,但是我做出了一个可将其从朱利安(Julian(到小数约会的刺激功能,就我的目的而言很好:

def decimal_date_from_julian(JD):
    L= JD+68569
    N= 4*L/146097
    L= L-(146097*N+3)/4
    I= 4000*(L+1)/1461001
    L= L-1461*I/4+31
    J= 80*L/2447
    K= L-2447*J/80
    L= J/11
    J= J+2-12*L
    decimal_date= 100*(N-49)+I+L
    return(decimal_date)
print(decimal_date_from_julian(mean_date))

祝你好运。

最新更新