網站首頁 編程語言 正文
apply方法介紹
方法形式為 apply(func, axis=0, raw=False, result_type=None, agrs=(), **kwargs)
,沿Dataframe的軸應用func函數。
傳遞給函數的對象是Series對象,當axis=0時,其索引是Dataframe的索引;當axis=1時,其索引是Dataframe的列。
默認情況下,result_type=None,最終返回的類型是從func函數的返回推斷出來的,否則它就取決于result_type參數。
參數解析:
- func:函數,要應用于每一列或每一行的函數。
- axis:默認為0,0對應行索引,將func函數應用于每一列;1對應列,將函數應用于每一行。
- raw:布爾值,默認為False,確定行或列是否作為Series或ndarray對象傳遞。
- False:將每一行或每一列作為一個Series對象傳遞給函數;
- True:函數將接收ndarray對象。
- result_type:可選值有expand,reduce,broadcast,None,默認為None。
- 默認為None時,返回結果取決于func函數的返回值,類似列表的結果將返回這些結果組成的Series,如果返回Series,則會將Series擴展為列。
- expand:在axis=1時其作用,類似列表的結果將變成列。
- reduce:在axis=1時其作用,如果可以,返回一個Series,而不是擴展類似列表的結果。
- broadcast:在axis=1時其作用,結果將被廣播到Dataframe的原始形狀,原始行索引和列將會被保留。
- args:元組,除了數組和Series之外,要傳遞給func的位置參數。
- **kwargs:傳遞給func的附加關鍵字參數。
返回:
- func函數沿Dataframe的給定軸應用的結果。
用例1
導入包
import pandas as pd import numpy as np
df = pd.DataFrame([[4, 9]]*3, columns=['A', 'B']) df
輸出:
使用numpy中的通用函數。
df.apply(np.sqrt) # 相當于np.sqrt(df)
輸出:
用例2
在任一軸上應用函數, 返回由類似列表的結果組成的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,會將類似列表的結果擴展到Dataframe的列。
df.apply(lambda x : [1, 2], axis=1, result_type='expand')
輸出:
在func函數內部返回一個Series,和傳遞result_type=expand相似,Series的索引將作為擴展的列名。
df.apply(lambda x: pd.Series([1, 2], index=['foo', 'bar']), axis=1)
輸出:
傳遞result_type=broadcast,將會返回相同形狀的結果,無論是列表還是標量,將沿軸進行廣播,列的名稱還是原始名稱。
df.apply(lambda x: [1, 2], axis=1, result_type='broadcast')
輸出:
總結?
原文鏈接:https://blog.csdn.net/qq_38727995/article/details/124459704
相關推薦
- 2023-01-04 Android?Toolbar應用欄使用方法簡介_Android
- 2022-11-30 使用jQuery實現簡單穿梭框方式_jquery
- 2022-09-20 C#單線程和多線程端口掃描器詳解_C#教程
- 2022-09-25 nginx平滑升級、nginx支持的kill信號
- 2022-12-11 python中windows鏈接linux執行命令并獲取執行狀態的問題小結_python
- 2023-02-25 如何用redis?setNX命令來加鎖_Redis
- 2022-06-04 CZGL.ProcessMetrics監控.NET應用_實用技巧
- 2022-04-23 Android如何使用ViewPager2實現頁面滑動切換效果_Android
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支