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]
fftpack.fft()里面的参数怎么设置?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
关注 不知道你这个问题是否已经解决, 如果还没有解决的话:- 你看下这篇博客吧, 应该有用👉 :对傅里叶变换FFT性质的理解 平移 旋转 缩放
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^解决 无用评论 打赏 举报
悬赏问题
- ¥30 这是哪个作者做的宝宝起名网站
- ¥60 版本过低apk如何修改可以兼容新的安卓系统
- ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
- ¥50 有数据,怎么建立模型求影响全要素生产率的因素
- ¥50 有数据,怎么用matlab求全要素生产率
- ¥15 TI的insta-spin例程
- ¥15 完成下列问题完成下列问题
- ¥15 C#算法问题, 不知道怎么处理这个数据的转换
- ¥15 YoloV5 第三方库的版本对照问题
- ¥15 请完成下列相关问题!