如何计算 python 中的主频率使用 numpy.fft
how to calculate dominant frequency use numpy.fft in python
我有这个关于车辆振动的数据框,我想计算振动的主频率。我知道我们可以使用 numpy.fft 来计算它,但我不知道如何将 numpy.fft 应用于我的数据框。
请教我如何在python中做到这一点。
谢谢。
数据框列实际上是一个 NumPy 数组
df = pd.DataFrame({"Vibration":[random.uniform(2,10) for i in range(10)]})
df["fft"] = np.fft.fft(df["Vibration"].values)
print(df.to_string())
输出
Vibration fft
0 8.212039 63.320213+0.000000j
1 5.590523 2.640720-2.231825j
2 8.945281 -2.977825-5.716229j
3 6.833036 4.657765+5.649944j
4 5.150939 -0.216720-0.445046j
5 3.174186 10.592292+0.000000j
6 9.054791 -0.216720+0.445046j
7 5.830278 4.657765-5.649944j
8 5.593203 -2.977825+5.716229j
9 4.935937 2.640720+2.231825j
每 15 行批处理一次
df = pd.DataFrame({"Vibration":[random.uniform(2,10) for i in range(800)]})
df.assign(
fft=df.groupby(df.index // 15)["Vibration"].transform(lambda s: np.fft.fft(list(s)).astype("object")),
grpfirst=df.groupby(df.index // 15)["Vibration"].transform(lambda s: list(s)[0])
)
在不知道 DataFrame 的外观以及计算需要使用哪些字段的情况下,您可以使用 .apply()
将任何函数应用于数据框
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.apply.html
我有这个关于车辆振动的数据框,我想计算振动的主频率。我知道我们可以使用 numpy.fft 来计算它,但我不知道如何将 numpy.fft 应用于我的数据框。 请教我如何在python中做到这一点。 谢谢。
数据框列实际上是一个 NumPy 数组
df = pd.DataFrame({"Vibration":[random.uniform(2,10) for i in range(10)]})
df["fft"] = np.fft.fft(df["Vibration"].values)
print(df.to_string())
输出
Vibration fft
0 8.212039 63.320213+0.000000j
1 5.590523 2.640720-2.231825j
2 8.945281 -2.977825-5.716229j
3 6.833036 4.657765+5.649944j
4 5.150939 -0.216720-0.445046j
5 3.174186 10.592292+0.000000j
6 9.054791 -0.216720+0.445046j
7 5.830278 4.657765-5.649944j
8 5.593203 -2.977825+5.716229j
9 4.935937 2.640720+2.231825j
每 15 行批处理一次
df = pd.DataFrame({"Vibration":[random.uniform(2,10) for i in range(800)]})
df.assign(
fft=df.groupby(df.index // 15)["Vibration"].transform(lambda s: np.fft.fft(list(s)).astype("object")),
grpfirst=df.groupby(df.index // 15)["Vibration"].transform(lambda s: list(s)[0])
)
在不知道 DataFrame 的外观以及计算需要使用哪些字段的情况下,您可以使用 .apply()
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.apply.html