【问题标题】:Calculate mean in specific rows python计算特定行中的平均值python
【发布时间】:2023-03-21 18:43:01
【问题描述】:

我想在 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    

【问题讨论】:

  • 我仍然不知道如何编码...请有人帮助我

标签: python-2.7 mean


【解决方案1】:
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]        

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-08-23
    • 2021-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-04
    相关资源
    最近更新 更多