在Python中计算平均温度通常涉及以下步骤:
收集数据:
首先需要收集温度数据,这些数据可以是CSV文件中的数值,或者通过其他方式获取。
数据处理:
如果数据是字符串格式,可能需要进行清洗,比如去除非数字字符。
计算平均值:
使用Python的`sum`函数计算温度数据的总和,然后用`len`函数计算数据的个数,最后将总和除以个数得到平均值。
下面是一个简单的例子,说明如何根据CSV文件按月份计算每个月的温度最值和均值:
```python
import numpy as np
import matplotlib.pyplot as plt
加载数据
file = './temp.csv'
data_array = np.loadtxt(file, delimiter=',', dtype='str', skiprows=1)
构造月份布尔型数组作为索引筛选
month_list = ['1', '2', '3'] 示例月份列表
month_array = [month == data_array[:, 0] for month in month_list]
筛选数据
month_temp_array = data_array[month_array][:, 1]
清理数据:去除'C'字符并将字符串转换为浮点数
clean_array = np.core.defchararray.replace(month_temp_array, 'C', '')
clean_array = clean_array.astype(float)
计算每个月份的温度最值和均值
for i, month in enumerate(month_list):
month_data = clean_array[month_array[i]]
max_temp = np.max(month_data)
min_temp = np.min(month_data)
avg_temp = np.mean(month_data)
print(f"月份 {month} 的平均温度是 {avg_temp:.1f}°C")
可视化结果
plt.plot(month_list, clean_array, marker='o')
plt.title('月份与温度关系图')
plt.xlabel('月份')
plt.ylabel('温度')
plt.show()
这段代码首先加载CSV文件中的温度数据,然后根据月份筛选数据,并计算每个月份的温度最大值、最小值和平均值,最后绘制出温度随月份变化的图表。
请注意,这只是一个示例,实际应用中你可能需要根据具体情况调整代码。