是否有一种有效的python方法来打开数据窗口?
我有一个包含45000行和30列的时间序列数据。我想将这些数据沿着行分割成长度为150的滚动窗口,并为每个窗口计算一些统计数据 基本上,这意味着我首先从第0行到第149行计算平均值,然后计算每列的std。然后取第1行到第150行,再次分别计算每列的平均值和标准差。我水平叠加每列的均值和标准向量 目前,我有以下功能:是否有一种有效的python方法来打开数据窗口?,python,Python,我有一个包含45000行和30列的时间序列数据。我想将这些数据沿着行分割成长度为150的滚动窗口,并为每个窗口计算一些统计数据 基本上,这意味着我首先从第0行到第149行计算平均值,然后计算每列的std。然后取第1行到第150行,再次分别计算每列的平均值和标准差。我水平叠加每列的均值和标准向量 目前,我有以下功能: def statFeaturesWindowed(data): dataLen = data.shape[0] count = 0 winSize = 150
def statFeaturesWindowed(data):
dataLen = data.shape[0]
count = 0
winSize = 150
ftVect = np.empty((1, 60))
while count+winSize <= dataLen:
if not count % 1000:
print("Row {} of {}".format(count, dataLen-winSize))
dataWin = data[count:count+winSize,:] # data window
means = np.mean(dataWin, axis = 0) # mean
stDev = np.std(dataWin, axis = 0) # standard deviation
tempVect = np.hstack((means, stDev)).T
ftVect = np.vstack((ftVect, tempVect))
count+=1
np.delete(ftVect, (1), 0)
return ftVect
def statFeaturesWindowed(数据):
dataLen=data.shape[0]
计数=0
winSize=150
ftVect=np.empty((1,60))
count+winSize看看这个,这正是我想要的,谢谢!