for i in df.columns:
#---------- time-domain feature,18
#依次为均值,标准差,最大值,最小值,均方根,峰峰值,中位数,四分位差,百分位差,偏度,峰度,方差,整流平均值,方根幅值,波形因子,峰值因子,脉冲值,裕度
df_line = df[i]
time_mean = df_line.mean()
time_std = df_line.std()
time_max = df_line.max()
time_min = df_line.min()
time_rms = np.sqrt(np.square(df_line).mean())
time_ptp = time_max-time_min
time_median = np.median(df_line)
time_iqr = np.percentile(df_line,75)-np.percentile(df_line,25)
time_pr = np.percentile(df_line,90)-np.percentile(df_line,10)
time_skew = stats.skew(df_line)
time_kurtosis = stats.kurtosis(df_line)
time_var = np.var(df_line)
time_amp = np.abs(df_line).mean()
time_smr = np.square(np.sqrt(np.abs(df_line)).mean())
#下面四个特征需要注意分母为0或接近0问题,可能会发生报错
time_wavefactor = time_rms/time_amp
time_peakfactor = time_max/time_rms
time_pulse = time_max/time_amp
time_margin = time_max/time_smr
#---------- freq-domain feature,15
#采样频率25600Hz
df_fftline = fftpack.fft(df[i], n=None, axis=-1, overwrite_x=False) /////???
freq_fftline = fftpack.fftfreq(len(df[i]),1/25600)
df_fftline = abs(df_fftline[freq_fftline>=0])
freq_fftline = freq_fftline[freq_fftline>=0]