Python Pandas 中向Series Apply 函數傳遞參數
pandas 庫提供了'apply()' 方法將函數應用於Series 的每個元素。然而,舊版的 pandas 不允許向函數傳遞額外的參數。
舊版Pandas 的解決方案:
在舊版中處理此限制pandas 中,您可以使用'functools.partial()' 或'lambda' 函數:
使用'functools.partial()':
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)
Using 'lambda':
# 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)
Pandas 新版本的解決方案:
自2017 年10 月起,pandas 支援將位置參數和關鍵字參數直接傳遞給' apply()'方法:
series.apply(my_function, args=(2, 3, 4), extra_kw={"example": 5})
在此語法中,位置參數會加在Series 元素之後,而關鍵字參數會作為字典傳遞。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3