#################################################################################
def one_user_time_windows(oneuserMoveList):
windows = 5
# 每一用户的所有时间窗数据(Step=1)
# 对每一用户的所有时间窗数据计算std
userWinStepList = []
STD = []
GAUSS = []
userWinStepList = window_cut(oneuserMoveList, windows) # 70*5*85 (window_n * windowsw_size * feature_n)
for j in range(len(userWinStepList)): # every time windows
userWinStepList[j] = list(pd.DataFrame(userWinStepList[j]).values.T) # 对单个window行列转置计算标准差与标准得分
std = []
gauss = []
for k in userWinStepList[j]: # every feature in a time windows
std.append(float(np.std(k)))
gauss.append(stGaussDis(k).get('gauss')) # *5 :
STD.append(std)
GAUSS.append(gauss)
GAUSS = pd.DataFrame(GAUSS) # GUASS包含70个windows,每个window为85*5
gauss = pd.DataFrame(gauss).fillna(value=0,inplace=True) # 缺失值Nan填充为0
insert_csv(gauss,'gauss')
#############################################################################################
问题在于第25行,如果函数会修改a本身,并且返回None,则不能把返回值再赋值给a。
相同类型错误:a = a.append(b)改为a.append(b),应修改为:
pd.DataFrame(gauss).fillna(value=0,inplace=True) # 缺失值Nan填充为0