我有一个包含一列 1s(对应于“ON”信号)和 0s(对应于“off”信号)的数据帧。
我的数据中有一些噪音,例如第一个“ON”信号在中间有一些 0,这使得它看起来很破碎。其他“ON”信号也会发生同样的情况。这使得很难计算我的数据中总共有多少个“ON”信号。看起来比有的还要多!
有没有办法让我把这些分组,填补空白?理想情况下,我想创建一个新列来指示到那时为止“ON”信号的当前数量。
我尝试了滚动均值和阈值类型的方法......任何帮助将不胜感激。
这给了我它从“ON”变为“OFF”时的位置,让我在它发生时查找时间索引:
df.loc[:,'Change'] = np.abs(df['ONOFF_Signal'].diff())
On_off_timestamps = df.query("Change == 1")['Time'].values
##Sample_data for two "ON" groupings.
df['Change'] = [0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,1,1,0,0,0,0,0,0]
#Output wanted:
[0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0]
##So that I can generate a count column "mask" up to each row of how many "ON" values have occurred:
[0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2]