我有电池电压数据,我想找到其中的周期,Python中有没有任何方法可以检测周期,我粘贴了数据的链接 https://docs.google.com/spreadsheets/d/1kJICTaMeuIzMnMNLPcetTFWK2YQO-hQx-Alx767jq3o/edit?usp=sharing 这是我的图表
我用plotly来绘制图表
import pandas as pd
import matplotlib.pyplot as plt
import plotly.express as px
dfm=pd.read_excel(r"C:\Users\Desktop\range\Battery Voltage.xlsx")
x=dfm["date_time"]
y=dfm["External Voltage"]
fig = px.line( x=x,y = y,
title = 'A simple line graph')
fig.show()
在我使用过滤器之前,但我丢失了一些数据,有什么方法可以找到其中的循环
对于这种情况,您可以使用
scipy.signal.argrelextrema
。
这是一个例子:
import pandas as pd
import matplotlib.pyplot as plt
import scipy
import numpy as np
data= pd.read_excel("Battery Voltage.xlsx")
plt.plot(data["date_time"],data["voltage"])
maxims=data.iloc[scipy.signal.argrelextrema(data["voltage"].values,comparator=np.greater_equal, order=200)[0]]
plt.scatter(maxims["date_time"], maxims["voltage"], c="yellow")
plt.show()