pandas進階教程之Dataframe的apply方法
apply方法介紹
方法形式為 apply(func, axis=0, raw=False, result_type=None, agrs=(), **kwargs)
,沿Dataframe的軸應(yīng)用func函數(shù)。
傳遞給函數(shù)的對象是Series對象,當axis=0時,其索引是Dataframe的索引;當axis=1時,其索引是Dataframe的列。
默認情況下,result_type=None,最終返回的類型是從func函數(shù)的返回推斷出來的,否則它就取決于result_type參數(shù)。
參數(shù)解析:
- func:函數(shù),要應(yīng)用于每一列或每一行的函數(shù)。
- axis:默認為0,0對應(yīng)行索引,將func函數(shù)應(yīng)用于每一列;1對應(yīng)列,將函數(shù)應(yīng)用于每一行。
- raw:布爾值,默認為False,確定行或列是否作為Series或ndarray對象傳遞。
- False:將每一行或每一列作為一個Series對象傳遞給函數(shù);
- True:函數(shù)將接收ndarray對象。
- result_type:可選值有expand,reduce,broadcast,None,默認為None。
- 默認為None時,返回結(jié)果取決于func函數(shù)的返回值,類似列表的結(jié)果將返回這些結(jié)果組成的Series,如果返回Series,則會將Series擴展為列。
- expand:在axis=1時其作用,類似列表的結(jié)果將變成列。
- reduce:在axis=1時其作用,如果可以,返回一個Series,而不是擴展類似列表的結(jié)果。
- broadcast:在axis=1時其作用,結(jié)果將被廣播到Dataframe的原始形狀,原始行索引和列將會被保留。
- args:元組,除了數(shù)組和Series之外,要傳遞給func的位置參數(shù)。
- **kwargs:傳遞給func的附加關(guān)鍵字參數(shù)。
返回:
- func函數(shù)沿Dataframe的給定軸應(yīng)用的結(jié)果。
用例1
導入包
import pandas as pd import numpy as np
df = pd.DataFrame([[4, 9]]*3, columns=['A', 'B']) df
輸出:
使用numpy中的通用函數(shù)。
df.apply(np.sqrt) # 相當于np.sqrt(df)
輸出:
用例2
在任一軸上應(yīng)用函數(shù), 返回由類似列表的結(jié)果組成的Series。
df.apply(np.sum, axis=0)
輸出:
A 12
B 27
dtype: int64
df.apply(np.sum, axis=1)
輸出:
0 13
1 13
2 13
dtype: int64
df.apply(lambda x :[1, 2], axis=1)
輸出:
0 [1, 2]
1 [1, 2]
2 [1, 2]
dtype: object
用例3
傳遞result_type=expand,會將類似列表的結(jié)果擴展到Dataframe的列。
df.apply(lambda x : [1, 2], axis=1, result_type='expand')
輸出:
在func函數(shù)內(nèi)部返回一個Series,和傳遞result_type=expand相似,Series的索引將作為擴展的列名。
df.apply(lambda x: pd.Series([1, 2], index=['foo', 'bar']), axis=1)
輸出:
傳遞result_type=broadcast,將會返回相同形狀的結(jié)果,無論是列表還是標量,將沿軸進行廣播,列的名稱還是原始名稱。
df.apply(lambda x: [1, 2], axis=1, result_type='broadcast')
輸出:
總結(jié)
到此這篇關(guān)于pandas進階教程之Dataframe的apply方法的文章就介紹到這了,更多相關(guān)pandas Dataframe的apply方法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python程序運行添加命令行參數(shù)argparse模塊具體用法詳解
這篇文章主要給大家介紹了關(guān)于python程序運行添加命令行參數(shù)argparse模塊具體用法的相關(guān)資料,argparse是Python內(nèi)置的一個用于命令項選項與參數(shù)解析的模塊,通過在程序中定義好我們需要的參數(shù),需要的朋友可以參考下2024-01-01Python使用keys() 獲取 Redis 數(shù)據(jù)庫中的所有鍵
哈希、列表、集合、排序集合、字符串、JSON 和流是 Redis 支持的眾多數(shù)據(jù)結(jié)構(gòu)之一,本文將討論獲取 Redis 數(shù)據(jù)庫中的所有鍵,感興趣的朋友跟隨小編一起看看吧2023-08-08pytorch 獲取層權(quán)重,對特定層注入hook, 提取中間層輸出的方法
今天小編就為大家分享一篇pytorch 獲取層權(quán)重,對特定層注入hook, 提取中間層輸出的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08