小编can*_*did的帖子

Python FFT用于特征提取

我正在寻找对人体加速度计数据进行特征提取以用于活动识别的方法。我的数据的采样率为100Hz。

我已经从各种来源研究了FFT是一种很适合使用的方法。我具有滑动窗口格式的数据,每个窗口的长度为256。我正在使用Python通过NumPy库执行此操作。我用来应用FFt的代码是:

import numpy as np

def fft_transform (window_data):

    fft_data = []
    fft_freq = []
    power_spec = []

    for window in window_data:

        fft_window = np.fft.fft(window)
        fft_data.append(fft_window)

        freq  = np.fft.fftfreq(np.array(window).shape[-1], d=0.01)
        fft_freq.append(freq )

        fft_ps = np.abs(fft_window)**2
        power_spec.append(fft_ps)

    return fft_data, fft_freq, power_spec
Run Code Online (Sandbox Code Playgroud)

这样给出的输出如下所示:

fft_data

array([  2.92394828e+01 +0.00000000e+00j,
        -6.00104665e-01 -7.57915977e+00j,
        -1.02677676e+01 -1.55806119e+00j,
        -7.17273995e-01 -6.64043705e+00j,
         3.45758079e+01 +3.60869421e+01j,
         etc..
Run Code Online (Sandbox Code Playgroud)

freq_data

array([  0.      ,   0.390625,   0.78125 ,   1.171875,   1.5625  , etc...
Run Code Online (Sandbox Code Playgroud)

功率谱

array([  8.54947354e+02,   5.78037884e+01,   1.07854606e+02,
         4.46098863e+01,   2.49775388e+03,   etc...
Run Code Online (Sandbox Code Playgroud)

我还使用此代码绘制了结果-其中fst_ps是power_spectrum的第一个数组/窗口,而fst_freq是fft_freq数据的第一个窗口/数组。

import matplotlib.pyplot as plt
fig = …
Run Code Online (Sandbox Code Playgroud)

fft machine-learning feature-extraction python-3.x

6
推荐指数
1
解决办法
1141
查看次数

Pandas 通过取列之间的平均值来合并两个数据框

我正在使用 Pandas DataFrames 并希望获取其中两个数据帧之间的平均值。我正在寻找具有相同名称的列之间的平均值。例如

df1

    time     x    y     z
 0     1  1.25  2.5  0.75
 1     2  2.75  2.5  3.00
 2     3  1.50  2.5  1.25
 3     4  3.00  2.5  3.50
 4     5  0.50  2.5  2.25
Run Code Online (Sandbox Code Playgroud)

df2

    time     x    y     z
 0     2  0.75  2.5  1.75
 1     3  3.00  2.5  3.00
 2     4  1.25  2.5  0.25
 3     5  3.50  2.5  2.00
 4     6  2.25  2.5  2.25
Run Code Online (Sandbox Code Playgroud)

我正在寻找的结果是

df3

    time     x    y     z
 0     1  1.25  2.5  0.75
 1     2  1.75  2.5  2.375 …
Run Code Online (Sandbox Code Playgroud)

group-by concatenation dataframe python-3.x pandas

4
推荐指数
1
解决办法
1810
查看次数

熊猫滚动意味着不要在DataFrame中将数字更改为NaN

我正在使用看起来像这样的pandas DataFrame:

(** NB-偏移量设置为DataFrame的索引)

offset         X         Y         Z
  0   -0.140137   -1.924316   -0.426758
 10   -2.789123   -1.111212   -0.416016
 20   -0.133789   -1.923828   -4.408691
 30   -0.101112   -1.457891   -0.425781
 40   -0.126465   -1.926758   -0.414062
 50   -0.137207   -1.916992   -0.404297
 60   -0.130371   -3.784591   -0.987654
 70   -0.125000   -1.918457   -0.403809
 80   -0.123456   -1.917480   -0.413574
 90   -0.126465   -1.926758   -0.333554
Run Code Online (Sandbox Code Playgroud)

我已使用以下代码将窗口大小= 5的滚动平均值应用于数据帧。我需要保持此窗口大小= 5,并且需要所有偏移值(无NaN)的整个数据帧的值。

df = df.rolling(center=False, window=5).mean()
Run Code Online (Sandbox Code Playgroud)

这给了我:

offset         X         Y         Z
 0.0       NaN       NaN       NaN
10.0       NaN       NaN       NaN
20.0       NaN       NaN       NaN
30.0       NaN       NaN       NaN
40.0 -0.658125 -1.668801 -1.218262 …
Run Code Online (Sandbox Code Playgroud)

moving-average dataframe python-3.x pandas

3
推荐指数
1
解决办法
895
查看次数

ValueError:无法为Tensor'Locholder_1:0'提供shape(64,)的值,其形状为'(?,10)'

我是tensorflow的新手,我正在尝试重现网站上发布的实验https://github.com/jiegzhan/image-classification-rnn

我的TensorFlow版本是1.0.1,所以我稍微改变了他的代码.我使用的代码如下.

import os
import sys
import json
import time
import tensorflow as tf
from tensorflow.contrib.rnn.python.ops import rnn, rnn_cell
from tensorflow.examples.tutorials.mnist import input_data

n_input = 28 # MNIST data input (img shape: 28*28)
n_steps = 28 # timesteps
n_hidden = 128 # hidden layer num of features
n_classes = 10 # MNIST total classes (0-9 digits)
#coding:utf-8
def rnn_model(x, weights, biases):
    """RNN (LSTM or GRU) model for image"""
    x = tf.transpose(x, [1, 0, 2])
    x = tf.reshape(x, [-1, n_input]) …
Run Code Online (Sandbox Code Playgroud)

mnist lstm tensorflow

1
推荐指数
1
解决办法
8775
查看次数