我在练习中遇到问题,需要一些帮助来计算5分钟间隔内的平均温度。这是该问题的说明:
.txt文件中的第一列是以分钟为单位的时间。 .txt文件中的第二列是以华氏度为单位的温度。
我主要困惑于计算5分钟间隔内的平均温度,然后如何绘制间隔时间平均值的平均值。我还将在下面提供我的代码,但缺少该问题的这两部分。
import numpy as np
import matplotlib.pyplot as plt
data = np.loadtxt("sample1.txt")
middle_of_interval = np.average()
plt.plot(data[:,0], data[:,1], "r")
plt.title("Temperature vs. Time")
plt.xlabel("Time (minutes)")
plt.ylabel("Temperature (F)")
plt.xticks(np.arange(0, 30, 1))
plt.yticks(np.arange(23, 27, 0.5))
答案 0 :(得分:0)
避免循环遍历数组总是一个好主意;最好坚持切片和其他技巧。
您可以像这样在数组arr
的5个元素上获得移动平均值:
avg = (arr[:-4] + arr[1:-3] + arr[2:-2] + arr[3:-1] + arr[4:]) / 5
您还可以将小型棚车与时间序列进行卷积,如下所示:
boxcar = np.ones(5) / 5
avg = np.convolve(arr, boxcar, mode='valid')
对时间序列执行相同操作,以获取每次测量的平均时间。
答案 1 :(得分:0)
使用以下公式将温度转换为摄氏度。
F = c×9/5 + 32
打印输出。