Python学习笔记:apply、map、applymap函数区别
一、总结
- 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 上的一行或者一列上
# 默认按列操作 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
,再考虑是要按行执行还是按列执行,进行函数的选择。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2019-09-29 【转】CnBlogs自定义博客样式