Lambda functions are working perfectly:

funct = (lambda a,aa,aaa: (a-aa)/aaa if aa>0 else a/aaa)
print(funct(200,100,2))

我想要做的是将其应用于DataFrame:df[['a','aa','aaa']]使用.apply()


Error: <lambda> missing 2 required positional arguments: aa and aaa

推荐答案

使用列表理解:

df['result'] = [funct(*x) for x in zip(df['a'], df['aa'], df['aaa'])]

但是考虑到您的函数,您应该使用向量代码:

df['result'] = np.where(df['aa']>0, (df['a']-df['aa'])/df['aaa'],
                        df['a']/df['aaa'])

示例:

   a  aa  aaa    result
0  2  -1    3  0.666667
1  2   1    3  0.333333

Python相关问答推荐

Flask主机持续 bootstrap 本地IP| Python

在Python中使用一行try

socket.gaierror:[Errno -2]名称或服务未知|Firebase x Raspberry Pi

当值是一个integer时,在Python中使用JMESPath来验证字典中的值(例如:1)

使文本输入中的文本与标签中的文本相同

如何使用stride_tricks.as_strided逆转NumPy数组

通过仅导入pandas来在for循环中进行多情节

使用numpy提取数据块

时间序列分解

如何从具有不同len的列表字典中创建摘要表?

通过Selenium从页面获取所有H2元素

为什么这个带有List输入的简单numba函数这么慢

如何在python polars中停止otherate(),当使用when()表达式时?

Pandas DataFrame中行之间的差异

多指标不同顺序串联大Pandas 模型

Python Tkinter为特定样式调整所有ttkbootstrap或ttk Button填充的大小,适用于所有主题

如何将数据帧中的timedelta转换为datetime

如何在验证文本列表时使正则表达式无序?

如何反转一个框架中列的值?

有没有办法让Re.Sub报告它所做的每一次替换?