Python: 将带有自定义函数的 .apply() 应用于数据框 - 为什么它不起作用?
Python: Apply .apply() with a self-defined function to a Data Frame- why doesn't it work?
我正在尝试通过对数据框使用 apply() 来应用自定义函数。目标是使用自定义函数计算每行/列的平均值。但它不起作用,可能我仍然没有完全理解 .apply() 的逻辑。有人能帮我吗?提前致谢:
d = pd.DataFrame({"A":[50,60,70],"B":[80,90,100]})
def m(x):
x.sum()/len(x)
return x
d.apply(m(),axis=0)
如果可能,最好的方法是矢量化解决方案:
df = d.sum() / len(d)
你的方案也是可以的,但是你需要把值改成return,还要在apply
去掉()
,最后axis=0
就是默认值对于那个参数,所以它也可以被删除:
def m(x):
return x.sum()/len(x)
df = d.apply(m)
我正在尝试通过对数据框使用 apply() 来应用自定义函数。目标是使用自定义函数计算每行/列的平均值。但它不起作用,可能我仍然没有完全理解 .apply() 的逻辑。有人能帮我吗?提前致谢:
d = pd.DataFrame({"A":[50,60,70],"B":[80,90,100]})
def m(x):
x.sum()/len(x)
return x
d.apply(m(),axis=0)
如果可能,最好的方法是矢量化解决方案:
df = d.sum() / len(d)
你的方案也是可以的,但是你需要把值改成return,还要在apply
去掉()
,最后axis=0
就是默认值对于那个参数,所以它也可以被删除:
def m(x):
return x.sum()/len(x)
df = d.apply(m)