用pandas函数代替下列语句:for i in range(len(data2_0_time3)): if (np.isnan(data2_0_time3.iat[i,0])==True): if 3<=i<=len(data2_0_time3)-4: data2_0_time3.loc[i,'speed_391_24']=0 data2_0_time3.loc[i,'speed_391_23']=0 data2_0_time3.loc[i,'speed_391_22']=0 k=0 for j in range(1,4): if np.isnan(data2_0_time3.iat[i-j,0])==False: data2_0_time3.loc[i,'speed_391_24']=data2_0_time3.iat[i,0]+data2_0_time3.iat[i-j,0] data2_0_time3.loc[i,'speed_391_23']=data2_0_time3.iat[i,1]+data2_0_time3.iat[i-j,1] data2_0_time3.loc[i,'speed_391_22']=data2_0_time3.iat[i,2]+data2_0_time3.iat[i-j,2] k=k+1 if np.isnan(data2_0_time3.iat[i+j,0])==False: data2_0_time3.loc[i,'speed_391_24']=data2_0_time3.iat[i,0]+data2_0_time3.iat[i+j,0] data2_0_time3.loc[i,'speed_391_23']=data2_0_time3.iat[i,1]+data2_0_time3.iat[i+j,1] data2_0_time3.loc[i,'speed_391_22']=data2_0_time3.iat[i,2]+data2_0_time3.iat[i+j,2] k=k+1 data2_0_time3.loc[i,'speed_391_24']=data2_0_time3.iat[i,0]/k data2_0_time3.loc[i,'speed_391_23']=data2_0_time3.iat[i,1]/k data2_0_time3.loc[i,'speed_391_22']=data2_0_time3.iat[i,2]/k
时间: 2023-06-09 18:03:47 浏览: 48
data2_0_time3['speed_391_24'] = np.where((pd.isnull(data2_0_time3.iloc[:,0])) & (data2_0_time3.index>=3) & (data2_0_time3.index<=len(data2_0_time3)-4), 0, data2_0_time3['speed_391_24'])
data2_0_time3['speed_391_23'] = np.where((pd.isnull(data2_0_time3.iloc[:,0])) & (data2_0_time3.index>=3) & (data2_0_time3.index<=len(data2_0_time3)-4), 0, data2_0_time3['speed_391_23'])
data2_0_time3['speed_391_22'] = np.where((pd.isnull(data2_0_time3.iloc[:,0])) & (data2_0_time3.index>=3) & (data2_0_time3.index<=len(data2_0_time3)-4), 0, data2_0_time3['speed_391_22'])
for i in range(3, len(data2_0_time3)-3):
if pd.isnull(data2_0_time3.iloc[i,0]):
k = 0
for j in range(1, 4):
if not pd.isnull(data2_0_time3.iloc[i-j,0]):
data2_0_time3.iloc[i, 0] += data2_0_time3.iloc[i-j, 0]
data2_0_time3.iloc[i, 1] += data2_0_time3.iloc[i-j, 1]
data2_0_time3.iloc[i, 2] += data2_0_time3.iloc[i-j, 2]
k += 1
if not pd.isnull(data2_0_time3.iloc[i+j,0]):
data2_0_time3.iat[i,0] += data2_0_time3.iloc[i+j,0]
data2_0_time3.iat[i,1] += data2_0_time3.iloc[i+j,1]
data2_0_time3.iat[i,2] += data2_0_time3.iloc[i+j,2]
k += 1
data2_0_time3.iloc[i,0] /= k
data2_0_time3.iloc[i,1] /= k
data2_0_time3.iloc[i,2] /= k