如何使用python找到循环

问题描述 投票:0回答:1

我有电池电压数据,我想找到其中的周期,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()

在我使用过滤器之前,但我丢失了一些数据,有什么方法可以找到其中的循环

python pandas scipy plotly
1个回答
0
投票

对于这种情况,您可以使用

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()

© www.soinside.com 2019 - 2024. All rights reserved.