當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python pandas.Series.apply用法及代碼示例


用法:

Series.apply(func, convert_dtype=True, args=(), **kwargs)

對 Series 的值調用函數。

可以是 ufunc(適用於整個係列的 NumPy 函數)或僅適用於單個值的 Python 函數。

參數

func函數

要應用的 Python 函數或 NumPy ufunc。

convert_dtype布爾值,默認為真

嘗試為元素函數結果找到更好的 dtype。如果為 False,則保留為 dtype=object。請注意,始終為某些擴展數組 dtypes 保留 dtype,例如 Categorical。

args元組

在係列值之後傳遞給 func 的位置參數。

**kwargs

傳遞給 func 的附加關鍵字參數。

返回

Series或DataFrame

如果 func 返回一個 Series 對象,則結果將是一個 DataFrame。

注意

改變傳遞對象的函數可能會產生意外行為或錯誤,因此不受支持。有關更多詳細信息,請參閱使用用戶定義函數 (UDF) 方法進行變異。

例子

為每個城市創建一個具有典型夏季溫度的係列。

>>> s = pd.Series([20, 21, 12],
...               index=['London', 'New York', 'Helsinki'])
>>> s
London      20
New York    21
Helsinki    12
dtype:int64

通過定義一個函數並將其作為參數傳遞給 apply() 來對值進行平方。

>>> def square(x):
...     return x ** 2
>>> s.apply(square)
London      400
New York    441
Helsinki    144
dtype:int64

通過將匿名函數作為參數傳遞給 apply() 來對值進行平方。

>>> s.apply(lambda x:x ** 2)
London      400
New York    441
Helsinki    144
dtype:int64

定義一個需要額外位置參數的自定義函數,並使用 args 關鍵字傳遞這些額外參數。

>>> def subtract_custom_value(x, custom_value):
...     return x - custom_value
>>> s.apply(subtract_custom_value, args=(5,))
London      15
New York    16
Helsinki     7
dtype:int64

定義一個接受關鍵字參數並將這些參數傳遞給 apply 的自定義函數。

>>> def add_custom_values(x, **kwargs):
...     for month in kwargs:
...         x += kwargs[month]
...     return x
>>> s.apply(add_custom_values, june=30, july=20, august=25)
London      95
New York    96
Helsinki    87
dtype:int64

使用 Numpy 庫中的函數。

>>> s.apply(np.log)
London      2.995732
New York    3.044522
Helsinki    2.484907
dtype:float64

相關用法


注:本文由純淨天空篩選整理自pandas.pydata.org大神的英文原創作品 pandas.Series.apply。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。