我正在尝试编写一个将使用我正在处理的数据框(dataf)的函数。的函数应具有两个参数:testcode和ID。我希望该函数根据前两列来计算第三列(C)的平均值。
这是我的简化形式:
def myfunc(dataf, testcode, ID):
filtered = dataf[(dataf['test_code']==testcode) & (dataf['ID']==ID)]
mean= filtered['c'].mean()
return mean
testcode='a'
ID='b'
mean=myfunc(dataf, testcode, ID)
print(mean)
我想要的结果:28(44和12的平均值)
当我打印均值时,它返回'nan'。我在函数内部打印了变量testcode和ID,以检查调用函数时是否传递了它们,并成功返回了[[a和b。
我在做什么错。预先谢谢你df['c']
...,但您的数据帧屏幕截图看起来像df['C']
...我很惊讶它没有抛出错误而不是返回nan