在 Python Pandas 中将参数传递给 Series Apply 函数
pandas 库提供了 'apply()' 方法将函数应用于 Series 的每个元素。然而,旧版本的 pandas 不允许向函数传递额外的参数。
旧版本 Pandas 的解决方案:
在旧版本中处理此限制pandas 中,您可以使用 'functools.partial()' 或 'lambda' 函数:
使用 'functools.partial()':
<code class="python">import functools import operator # Define a function with multiple arguments def add_3(a, b, c): return a + b + c # Create a partial function by binding extra arguments add_3_partial = functools.partial(add_3, 2, 3) # Apply the partial function to a series series.apply(add_3_partial)</code>
使用 'lambda':
<code class="python"># Create a lambda function to pass extra arguments to the apply method lambda_func = lambda x: my_function(a, b, c, d, ..., x) # Apply the lambda function to the series series.apply(lambda_func)</code>
Pandas 新版本的解决方案:
自 2017 年 10 月起,pandas 支持将位置参数和关键字参数直接传递给 'apply()' 方法:
<code class="python">series.apply(my_function, args=(2, 3, 4), extra_kw={"example": 5})</code>
在此语法中,位置参数添加在系列,而关键字参数作为字典传递。
以上是如何在 Python 中传递参数来应用 Pandas 系列的函数?的详细内容。更多信息请关注PHP中文网其他相关文章!