我有一个主数据机(df),一个带有日期列(非索引),一个带有值的列“VXX_Full”和一个“信号”列。
我想循环访问信号列,每当它是1时,我想捕获“VXX_Full”列的切片(之前20行,之后40行),并创建一个包含所有切片的新数据帧。我希望新数据帧的列名是原始数据帧的行号。
VXX_signal = pd.DataFrame(np.zeros((60,0)))
counter = 1
for row in df.index:
if df.loc[row,'signal'] == 1:
add_row = df.loc[row - 20:row +20,'VXX_Full']
VXX_signal[counter] = add_row
counter +=1
VXX_signal
它似乎不起作用。它创建一个数据帧,但值都是 Nan。第一个切片,它至少看起来是从主df获取数据,但是数据不对应于正确的位置。新 df 中的以下列集(有 30 个信号,因此创建了 30 列)都是 NaN
提前致谢!
隔江千里
慕田峪4524236
相关分类