1. 程式人生 > >python練習題之《按月份統計每月氣溫的最大值、最小值及平均值》

python練習題之《按月份統計每月氣溫的最大值、最小值及平均值》

1.題目:根據csv檔案,按月份計算每個月的溫度最值和均值

2.技巧點:布林型陣列==》作為索引刪選資料

程式碼如下:

import numpy as np
import matplotlib.pyplot as plt

file = "./temp.csv"
month_list = ["1","2","3"]
# 構造月份布林型陣列 做索引篩選
def collect_process_data():
    data_array = np.loadtxt(file,delimiter=',',dtype="str",skiprows=1)
    for month in month_list:
        month_array = month == data_array[:, 0]
        # print(month_array)
        #篩資料
        month_temp_array = data_array[month_array][:,1]
        # 去除'C'
        clean_array = np.core.defchararray.replace(month_temp_array, "C", "")
        # print(clean_array)
        # 將str轉為float
        float_array = clean_array.astype(float)

        #取最值
        max_temp = np.max(float_array)
        min_temp = np.min(float_array)
        mean_temp = np.mean(float_array)

        print('第{}月份氣溫最低為:{:.2f}'.format(month, min_temp))

        print('第{}月份氣溫最高為:{:.2f}'.format(month, max_temp))
        print('第{}月份氣溫平均為:{:.2f}'.format(month, mean_temp))
        print("===================================================================") 
   
collect_process_data()