数据处理---获取某个字符后连续字符/数字的长度
数据处理---获取某个字符后连续字符/数字的长度区分状态区分状态在数据处理的过程中,比如脉冲星信号处理,有些脉冲星辐射有消零现象存在,或者模式变换时,有三种状态,将这三种状态用数值表示为:0.0, 0.5,1.0. 在分析的过程中,需要计算在某个状态后,另一状态的持续时间。在此,演示这一计算过程的代码。所用计算机语言:python数据形式如下:0.01.01.00.00.51.01.00.51.0
·
数据处理---获取某个字符后连续字符/数字的长度
区分状态
在数据处理的过程中,比如脉冲星信号处理,有些脉冲星辐射有消零现象存在,或者模式变换时,有三种状态,将这三种状态用数值表示为:0.0, 0.5,1.0. 在分析的过程中,需要计算在某个状态后,另一状态的持续时间。在此,演示这一计算过程的代码。
所用计算机语言:python
数据形式如下:
0.0
1.0
1.0
0.0
0.5
1.0
1.0
0.5
1.0
0.5
0.0
0.0
1.0
1.0
1.0
1.0
0.5
1.0
1.0
1.0
1.0
0.0
1.0
0.5
0.5
0.5
1.0
1.0
1.0
1.0
0.5
0.0
1.0
0.0
0.0
0.0
1.0
1.0
1.0
0.0
0.5
0.0
1.0
0.5
1.0
1.0
1.0
0.0
1.0
0.0
0.0
1.0
1.0
0.5
…
数据为ascii文件,
import numpy as np
data=np.genfromtxt('psr.txt',dtype='float64')
null_index = []
pulse_5_index =[]
pulse_index = []
for i in range(len(data)):
if data[i] ==0.0:
#print(i)
null_index.append(i)
elif data[i]==0.5:
pulse_5_index.append(i)
elif data[i] ==1.0:
pulse_index.append(i)
con_pul = []
coni = [pulse_index[0]]
i = 1
while i < (len(pulse_index)):
if pulse_index[i] - pulse_index[i-1] ==1:
coni.append(pulse_index[i])
else :
con_pul.append(coni)
coni = []
coni.append(pulse_index[i])
i +=1
num_1 = []
for i in con_pul:
print(type(null_index),type(int(np.min(i))))
index1_min = int(np.min(i))-1
print(index1_min)
if index1_min in null_index:
num_1.append(len(i))
## num_1 is you need
print(num_1)
## num_1 就是在0.0后的1.0的持续长度
end
更多推荐
已为社区贡献1条内容
所有评论(0)