首页 > 解决方案 > 如果 id 等于 X,则应用函数

问题描述

我有一个像这样的数据框

   id        subid        a
1  1         1            2 
2  1         1            10 
3  1         1            20
4  1         2            30
5  1         2            35 
6  1         2            36 
7  1         2            40
8  2         2            20
9  2         2            29
10 2         2            30

我想计算并保存每个 id 的变量“a”的平均值。例如,如果 id=2,我想要变量“a”的平均值。然后将该结果保存在列表中

这是我到目前为止所拥有的:

for i in range(2):

results=[]

if df.iloc[:,3]==i:
     value=np.mean(df)

results.append(value)

标签: pythonpandasnumpy

解决方案


这里的问题,

  1. results=[] 应该在循环之外,否则每次循环运行时,结果都会重置为 []。

  2. 我知道 iloc[:,2] 是您要查找的列。

  3. 值 = df['a'].mean()


推荐阅读