一、總結
-
apply
—— 應用在dataFrame
上,用于對row
或者column
進行計算 -
applymap
—— 應用在dataFrame
上,元素級別的操作 -
map
——python
系統自帶函數,應用在series
上, 元素級別的操作
二、實操對比
構建測試數據框:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
import pandas as pd import numpy as np df = pd.DataFrame(np.random.randint( 0 , 10 , ( 4 , 3 )), columns = list ( 'abc' ), index = range ( 4 )) df ''' a b c 0 5 4 8 1 7 5 2 2 1 2 2 3 1 6 2 ''' |
apply
作用在 dataframe
上的一行或者一列上
1
2
3
4
5
6
7
8
9
10
11
12
13
|
#Python學習交流群:531509025 # 默認按列操作 axis=0 # 求每列的最大值、最小值之差 df. apply ( lambda x: x. max () - x. min ()) # axis=0 # 求每行的最大值、最小值之差 df. apply ( lambda x: x. max () - x. min (), axis = 1 ) |
applymap
作用在 dataframe
的每一個元素上
1
2
3
|
# 偶數放大10倍 df.applymap( lambda x: x * 10 if x % 2 = = 0 else x) |
map
函數作用在 series
上的每一個元素
1
2
3
|
# 單獨的序列 df['b'].map(lambda x: 1 if x%2 == 0 else 0) |
總的來說,要對數據進行應用函數操作時,考慮數據結構是 DataFrame
還是 Series
,再考慮是要按行執行還是按列執行,進行函數的選擇。
到此這篇關于 Python
函數中apply
、map
、applymap
的區別 的文章就介紹到這了,更多相關 Python中的apply、map、applymap內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://www.cnblogs.com/python960410445/p/15463099.html