首页 > 解决方案 > 使用 python pandas 在一个数据帧中查找另一个数据帧 id 的平均值?

问题描述

数据框1:

Stationid
       10
       11
       12
       13
       14
       15
       16
       17

数据框 2:

Stationid  Maintanance
       10           55
       15           38
       21          100
       10           56
       22          101
       15           39
       10           56

我需要在数据帧 2 上计算数据帧 1 中站 ID 的平均值

预期输出:

Stationid  Maintainance Mean
       10          55.666667
       15          38.500000

标签: pythonpandas

解决方案


首先过滤isinwithboolean indexing然后聚合mean

df = df2[df2['id'].isin(df1['Stationid'])].groupby('id', as_index=False)['Maintanance'].mean()
df.columns = ['Stationid','Maintainance Mean']
print (df)
   Stationid  Maintainance Mean
0         10          55.666667
1         15          38.500000

推荐阅读