python - 求曲线中的线性部分和斜率

标签 python pandas plot dataframe

对于监测质量随时间变化的设备,我们希望计算数据线性部分的斜率。

下面显示的示例是通过读取设备生成的数据帧生成的。

import pandas as pd
import matplotlib.pyplot as plt

#Find DataFrame
df = pd.read_table("raw_data.csv", sep =";", skiprows = 11, decimal = ",")

# Plot figures
plt.figure()
plt.plot(df["Time(s)"], df["Mass(g)"], label = "Raw Data")
plt.axvspan(2, 17, color="b", alpha=0.2)
plt.xlabel("Time (s)")
plt.ylabel("Mass (g)")
plt.legend(loc=0)
plt.axis([0, None, 0, None])
plt.show()

Example curve

是否可以拟合该曲线中的线性部分(大致突出显示的部分)并计算其斜率?

最佳答案

使用numpy.polyfit():

df_sampled = df[:max_value] #select the points you want to keep
m, p = numpy.polyfit(df_sampled.index, df_sampled, deg=1)

该函数返回线性回归的斜率截距

关于python - 求曲线中的线性部分和斜率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39835069/

相关文章:

python - OpenCV ORB 描述符 : TypeError: Incorrect type of self (must be 'Feature2D' or its derivative)

python - 相互引用 Enum 成员

python - 如何让 PySolr 断开连接?

python - 使用 VBox 的 Bokeh 小部件间距和对齐

R:图例表达式如何在两个值之间添加逗号以及如何抑制科学记数法

python - 如何计算最佳列宽?

python - 在 Python 中读取 UDP 数据包的缓冲区大小

python - LSTM 预处理 : Build 3d arrays from pandas data frame based on ID

python - 如何基于值为列表的字典替换 pandas 系列中的字符串组?

python - 如何在Python中将两个变量绘制为直方图?