簡體   English   中英

Python中多維數組的平均值

[英]Average of multi-dimensional array in Python

我有一個溫度數據,我作為一個數組保存:

temp[month][day][hour][min]

是否有一種簡單的方法來獲取數據的每小時平均值,即同一小時內所有值的平均值? 同樣,每日平均?

您應該能夠使用這些函數來獲得所需的平均值:

def hourly_average(values, month, day, hour):
  hour_data = values[month][day][hour]
  # extract the values for every minute in the specified hour.
  minute_values = [hour_data[min] for min in xrange(0,60)]
  return sum(minute_values)/60

def daily_average(values, month, day):
  # extract the averages for every hour in the specified day.
  hour_values = [hourly_average(vales,month,day,hour) for hour in xrange(0,24)]
  # the average of the averages of the equally weighted parts is the average 
  # of the thing itself (?).
  return sum(hour_values)/24

你會對使用numpy感興趣。

像這樣的東西變得如此簡單:

import numpy

data_as_numpy_array = numpy.array(original_data)

hourly_averages = numpy.average(data_as_numpy_array, 3)

daily_averages = numpy.average(hourly_averages, 2)

在后兩行中,第二個參數是您希望平均的軸。 這里3是分鍾數據的軸,2是小時數據的軸。

您可能也有興趣安裝pylab和ipython。 Pylab模擬了Matlab的圖形/可視化功能,而ipython是一個增強的解釋器,具有制表完成和完整命令輸入(和輸出)歷史等功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM