Python函数中apply、map、applymap的区别
一、總結(jié)
- apply —— 應(yīng)用在 dataFrame 上,用于對 row 或者 column 進(jìn)行計(jì)算
- applymap —— 應(yīng)用在 dataFrame 上,元素級別的操作
- map —— python 系統(tǒng)自帶函數(shù),應(yīng)用在 series 上, 元素級別的操作
二、實(shí)操對比
構(gòu)建測試數(shù)據(jù)框:
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 上的一行或者一列上
''' 學(xué)習(xí)中遇到問題沒人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書! ''' # 默認(rèn)按列操作 axis=0 # 求每列的最大值、最小值之差 df.apply(lambda x: x.max() - x.min()) # axis=0# 求每行的最大值、最小值之差 df.apply(lambda x: x.max() - x.min(), axis=1)applymap 作用在 dataframe 的每一個(gè)元素上
# 偶數(shù)放大10倍 df.applymap(lambda x: x*10 if x%2 == 0 else x)map 函數(shù)作用在 series 上的每一個(gè)元素
# 單獨(dú)的序列 df['b'].map(lambda x: 1 if x%2 == 0 else 0)總的來說,要對數(shù)據(jù)進(jìn)行應(yīng)用函數(shù)操作時(shí),考慮數(shù)據(jù)結(jié)構(gòu)是 DataFrame 還是 Series ,再考慮是要按行執(zhí)行還是按列執(zhí)行,進(jìn)行函數(shù)的選擇。
結(jié)尾給大家推薦一個(gè)非常好的學(xué)習(xí)教程,希望對你學(xué)習(xí)Python有幫助!
Python基礎(chǔ)入門教程推薦:更多Python視頻教程-關(guān)注B站:Python學(xué)習(xí)者
【Python教程】全網(wǎng)最容易聽懂的1000集python系統(tǒng)學(xué)習(xí)教程(答疑在最后四期,滿滿干貨)
Python爬蟲案例教程推薦:更多Python視頻教程-關(guān)注B站:Python學(xué)習(xí)者
2021年P(guān)ython最新最全100個(gè)爬蟲完整案例教程,數(shù)據(jù)分析,數(shù)據(jù)可視化,記得收藏哦
總結(jié)
以上是生活随笔為你收集整理的Python函数中apply、map、applymap的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python中yield返回生成器的详细
- 下一篇: 5种Python统计次数的方法