目录
  • 一、总结
  • 二、实操对比

一、总结

  • apply —— 应用在 dataFrame 上,用于对 row 或者 column 进行计算
  • applymap —— 应用在 dataFrame 上,元素级别的操作
  • map —— python 系统自带函数,应用在 series 上, 元素级别的操作

二、实操对比

构建测试数据框:

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 上的一行或者一列上

#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 的每一个元素上

# 偶数放大10倍

df.applymap(lambda x: x*10 if x%2 == 0 else x)

map 函数作用在 series 上的每一个元素

# 单独的序列

df['b'].map(lambda x: 1 if x%2 == 0 else 0)

总的来说,要对数据进行应用函数操作时,考虑数据结构是 DataFrame 还是 Series ,再考虑是要按行执行还是按列执行,进行函数的选择。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。