计算特定行python中的平均值

时间:2016-03-09 10:16:17

标签: python-2.7 mean

我想在Python 2.7中计算特定行的平均值(另请参阅Question in R)并在结尾处列出一个列表。在我的情况下,我想采取每个事件的平均持续时间。所以这样的事情(最好是一行,计算速度快):

    mean_duration = [np.mean(r.duration, r[-1].duration) for r in catalog 
                     if r.eventid == r[-1].eventid]

不幸的是,我不能这样做因为我的班级(以及我的目录)说它不能使用 getitem

以下是我的数据集的一部分:

Eventid           Station      Duration
20120525_0010H    stat1        2.40   
20120525_0010H    stat2        2.80   
20120525_0010H    stat3        2.40    
20120525_0223E    stat1        2.80    
20120525_0223E    stat3        2.00     
20120525_0225L    stat2        3.20     
20120525_0230B    stat1        3.20     
20120526_0019C    stat3        3.20    

1 个答案:

答案 0 :(得分:0)

data = {}
for r in catalog:
  data[r.eventid] = data.get(r.eventid, {})
  data[r.eventid][r.station] = data.get(r.station, {})
  data[r.eventid][r.station] = r.duration
mdur = [np.mean(data[eventid].values()) for eventid in eventids]