簡體   English   中英

如何計算主頻率使用 python 中的 numpy.fft

[英]how to calculate dominant frequency use numpy.fft in python

我有這個關於車輛振動的數據框,我想計算振動的主頻率。 我知道我們可以使用 numpy.fft 計算它,但我不知道如何將 numpy.fft 應用於我的數據幀。 請告訴我如何在 python 中做到這一點。 謝謝你。

dataframe 列有效地是 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())

output

   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 將任何 function 應用於.apply()

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.apply.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM