在系列应用程序中使用参数
pandas 中的 DataFrame.apply() 方法通常用于将函数应用于 a 的每个元素系列。但是,早期版本的 pandas 不支持直接向函数传递参数。这就提出了是否有替代方法或可行的解决方法的问题。
正如文档中强调的那样,pandas 的更新版本确实允许将参数传递给 apply() 方法。可以使用以下语法:
<code class="python">my_series.apply(your_function, args=(2,3,4), extra_kw=1)</code>
参数位于系列元素之后,从而在函数应用中提供更大的灵活性。
旧版 Pandas 的解决方法
对于旧版本的 pandas,另一种方法是使用 functools.partial 方法。该实用程序使用预先绑定的某些参数构造一个新函数。例如:
<code class="python">import functools import operator add_3 = functools.partial(operator.add, 3) add_3(2) # Outputs 5</code>
此外,还支持将关键字参数传递给预绑定函数:
<code class="python"># Add 5 to every element of the series my_series.apply((lambda x: your_function(a, b, c, d, ..., x)))</code>
结论
While旧版本的 pandas 需要解决方法才能将带有参数的函数应用于系列,更新现在引入了对此功能的直接支持。首选方法是在旧版本中使用 functools.partial 方法,在新版本中使用改进的 apply() 方法。
以上是如何在 DataFrame.apply() 中传递参数以进行 Pandas 的系列操作?的详细内容。更多信息请关注PHP中文网其他相关文章!