1
对于监测质量随时间变化的设备,我们希望计算线性部分数据的斜率。查找曲线中的线性部分和斜率
以下示例是通过读取设备生成的数据帧生成的。
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()
是否有可能适合在这个曲线(大约突出显示部分)的直线部分,并计算它的斜率?
谢谢,这已经有所帮助!但是,手动选择线性部分中的点一次只能用于一个文件,因为我有超过300个,我正在寻找一种更通用的方法来找到这个线性部分? –
如果你所有的曲线都是这样的,你可以做的就是将阈值设置为最大值质量的95%或90%,并将其横坐标作为线性部分的终点。我不知道你在模拟什么,但通常这是我们想要在物理学中分离暂时和永久状态时所做的。 – MMF