pandaps应用参数为no lamb的函数

2024-06-02 11:04:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用apply args参数将函数应用于dataframe的行。我看到了multiplesimilarquestions,但是下面的解决方案似乎不起作用。我创建了一个示例。在

这里我用数据帧的列和除以它

pij=pd.DataFrame(np.random.randn(500,2))
pij.divide(pij.sum(1),axis=0).head() 
          0         1
0  1.077353 -0.690463
1  0.608302  0.583209
2 -0.724272 -1.665318
3 -0.735404 -0.606744
4 -0.033409 -0.162695

我知道如何用lambda来返回相同的结果

^{pr2}$

但是,当我尝试使用apply参数时,它不起作用

pij.apply(np.divide,args=(pij.sum(1)))

Tags: 数据函数示例dataframe参数npargs解决方案
1条回答
网友
1楼 · 发布于 2024-06-02 11:04:13

完全错误表明,这是由于熊猫特殊外壳UFUNC造成的:

   4045
   4046         if isinstance(f, np.ufunc):
-> 4047             results = f(self.values)
   4048             return self._constructor(data=results, index=self.index,
   4049                                      columns=self.columns, copy=False)

ValueError: invalid number of arguments

这看起来像个虫子!在


在这种情况下,您可以使用div:

^{pr2}$

相关问题 更多 >