一、总结
-
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