最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Pandas中map(),applymap(),apply()函數(shù)的使用方法

 更新時(shí)間:2023年02月22日 10:12:33   作者:餃子大人  
本文主要介紹了Pandas中map(),applymap(),apply()函數(shù)的使用方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

將函數(shù)應(yīng)用于pandas對象(pandas.DataFrame,pandas.Series)時(shí),根據(jù)所應(yīng)用的函數(shù)類型以及是否將其應(yīng)用于元素,行或列,使用的方法會有所不同。

指定pandas對象作為NumPy函數(shù)的參數(shù)

  • 將Pandas對象指定為函數(shù)參數(shù)
  • 是否將其應(yīng)用于元素,行或列取決于函數(shù)的類型和參數(shù)的設(shè)置而有所不同
  • Pandas對象中的一些方法

Pandas對象方法的函數(shù)應(yīng)用
元素功能(標(biāo)量值)

  • 適用于Series的每個(gè)元素:map(),apply()
  • 應(yīng)用于DataFrame的每個(gè)元素:applymap()

行和列的功能(一維數(shù)組)

  • 應(yīng)用于DataFrame的每行和每列:apply()

用以下csv文件作為示例進(jìn)行說明。

a,b,c,d
11,12,13,14
21,22,23,24
31,32,33,34

import pandas as pd
import numpy as np

df = pd.read_csv('./data/06/sample_header.csv')
print(df)
# ? ? a ? b ? c ? d
# 0 ?11 ?12 ?13 ?14
# 1 ?21 ?22 ?23 ?24
# 2 ?31 ?32 ?33 ?34

指定pandas對象作為NumPy函數(shù)的參數(shù)

可以將Pandas對象指定為NumPy函數(shù)的參數(shù)。

元素的應(yīng)用

NumPy的通用函數(shù)(ufunc:應(yīng)用于數(shù)組元素的函數(shù))適用于pandas對象的每個(gè)元素。

絕對值(fabs()),平方根(sqrt()),log(log())等。

print(np.sqrt(df))
#           a         b         c         d
# 0  3.316625  3.464102  3.605551  3.741657
# 1  4.582576  4.690416  4.795832  4.898979
# 2  5.567764  5.656854  5.744563  5.830952

行/列的應(yīng)用

如果將pandas對象指定為從NumPy數(shù)組的所有元素計(jì)算值的函數(shù)的參數(shù),則默認(rèn)情況下它將應(yīng)用于pandas對象的每列。如果參數(shù)軸= 1,則將其應(yīng)用于每行。

最大值(amax()),最小值(amin()),平均值(mean())等。

print(np.amax(df))
# a ? ?31
# b ? ?32
# c ? ?33
# d ? ?34
# dtype: int64

print(np.mean(df, axis=1))
# 0 ? ?12.5
# 1 ? ?22.5
# 2 ? ?32.5
# dtype: float64

pandas.DataFrame,pandas.Series方法

最大值,最小值,平均值,方差等也被準(zhǔn)備為Pandas對象的方法,因此也可以直接使用它們。

同樣,在這種情況下,默認(rèn)情況下也會將其應(yīng)用于每一列,并且如果參數(shù)axis = 1,則會將其應(yīng)用于每一行。

print(df.max())
# a ? ?31
# b ? ?32
# c ? ?33
# d ? ?34
# dtype: int64

print(df.max(axis=1))
# 0 ? ?14
# 1 ? ?24
# 2 ? ?34
# dtype: int64

Pandas對象方法的函數(shù)應(yīng)用

可以使用pandas對象方法將函數(shù)應(yīng)用于元素,行和列。您可以應(yīng)用Python內(nèi)置函數(shù)或您定義的函數(shù)。

  • 應(yīng)用于Series的每個(gè)元素:map(),apply()
  • 應(yīng)用于DataFrame的每個(gè)元素:applymap()
  • 應(yīng)用于DataFrame的每行和每列:apply()
  • 應(yīng)用于DataFrame的特定行/列元素

以上方法都返回一個(gè)新的已處理的對象,而原始對象則保持不變。沒有像dropna()或fillna()那樣的參數(shù),因此,如果想更改原始對象本身時(shí),

df = df.applymap(function)

如上,用原始對象替換新對象并覆蓋它。

適用于Series的每個(gè)元素:map(),apply()

將Python內(nèi)置函數(shù),匿名函數(shù)(lambda)或def定義的函數(shù)傳遞給map()或apply()的參數(shù)。

s = df['a']
print(s)
# 0 ? ?11
# 1 ? ?21
# 2 ? ?31
# Name: a, dtype: int64

f_brackets = lambda x: '[{}]'.format(x)
print(s.map(f_brackets))
# 0 ? ?[11]
# 1 ? ?[21]
# 2 ? ?[31]
# Name: a, dtype: object

def f_str(x):
? ? return str(x).replace('1', 'One').replace('2', 'Two').replace('3', 'Three').replace('4', 'Four')

print(s.map(f_str))
# 0 ? ? ?OneOne
# 1 ? ? ?TwoOne
# 2 ? ?ThreeOne
# Name: a, dtype: object

對于map(),如果將字典dict指定為參數(shù),它將替換為元素。

應(yīng)用于DataFrame的每個(gè)元素:applymap()

將Python的內(nèi)置函數(shù),匿名函數(shù)(lambda)或def定義的函數(shù)傳遞為applymap()的參數(shù)。

f_oddeven = lambda x: 'odd' if x % 2 == 1 else 'even'
print(df.applymap(f_oddeven))
#      a     b    c     d
# 0  odd  even  odd  even
# 1  odd  even  odd  even
# 2  odd  even  odd  even

應(yīng)用于DataFrame的每行和每列:apply()

將適用于一維數(shù)組的函數(shù)傳遞給apply()的參數(shù)。默認(rèn)情況下,它應(yīng)用于每列,如果axis = 1,則應(yīng)用于每行。

f_maxmin = lambda x: max(x) - min(x)
print(df.apply(f_maxmin))
# a ? ?20
# b ? ?20
# c ? ?20
# d ? ?20
# dtype: int64

print(df.apply(f_maxmin, axis=1))
# 0 ? ?3
# 1 ? ?3
# 2 ? ?3
# dtype: int64

應(yīng)用于DataFrame的特定行/列元素

由于沒有方法僅將功能應(yīng)用于DataFrame的特定行/列元素,可執(zhí)行以下方法。

  • 選擇行/列并應(yīng)用帶有map()或apply()的功能
  • 覆蓋原始行/列
df['b'] = df['b'].map(f_str)
print(df)
# ? ? a ? ? ? ? b ? c ? d
# 0 ?11 ? ?OneTwo ?13 ?14
# 1 ?21 ? ?TwoTwo ?23 ?24
# 2 ?31 ?ThreeTwo ?33 ?34

df.iloc[2] = df.iloc[2].map(f_str)
print(df)
# ? ? ? ? ? a ? ? ? ? b ? ? ? ? ? c ? ? ? ? ?d
# 0 ? ? ? ?11 ? ?OneTwo ? ? ? ? ?13 ? ? ? ? 14
# 1 ? ? ? ?21 ? ?TwoTwo ? ? ? ? ?23 ? ? ? ? 24
# 2 ?ThreeOne ?ThreeTwo ?ThreeThree ?ThreeFour

到此這篇關(guān)于Pandas中map(),applymap(),apply()函數(shù)的使用方法的文章就介紹到這了,更多相關(guān)Pandas map(),applymap(),apply()內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python爬蟲Xpath定位數(shù)據(jù)的兩種方法

    Python爬蟲Xpath定位數(shù)據(jù)的兩種方法

    這篇文章主要介紹了Python爬蟲Xpath定位數(shù)據(jù)的方法,第一種方法直接右鍵,將文章路徑復(fù)制下來點(diǎn)擊Copy?full?Xpath,方法二使用@制定標(biāo)簽屬性,搜索指定位置,每種方法給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • python模擬Django框架實(shí)例

    python模擬Django框架實(shí)例

    這篇文章主要為大家詳細(xì)介紹了python模擬Django框架實(shí)例,了解一個(gè)web框架需要的基本功能,感興趣的小伙伴們可以參考一下
    2016-05-05
  • PyTorch的自適應(yīng)池化Adaptive Pooling實(shí)例

    PyTorch的自適應(yīng)池化Adaptive Pooling實(shí)例

    今天小編就為大家分享一篇PyTorch的自適應(yīng)池化Adaptive Pooling實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • python 在服務(wù)器上調(diào)用數(shù)據(jù)庫特別慢的解決過程

    python 在服務(wù)器上調(diào)用數(shù)據(jù)庫特別慢的解決過程

    這篇文章主要介紹了python 在服務(wù)器上調(diào)用數(shù)據(jù)庫特別慢的解決過程,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • Python利用filestools模塊實(shí)現(xiàn)水印添加

    Python利用filestools模塊實(shí)現(xiàn)水印添加

    最近發(fā)現(xiàn)的這款filestools非標(biāo)準(zhǔn)庫其實(shí)真正實(shí)現(xiàn)添加水印的只要一個(gè)函數(shù)的調(diào)用,一行代碼即可完成水印的添加,感興趣的快跟隨小編一起學(xué)起來吧
    2022-09-09
  • python 模擬貸款卡號生成規(guī)則過程解析

    python 模擬貸款卡號生成規(guī)則過程解析

    這篇文章主要介紹了python 模擬貸款卡號生成規(guī)則過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • python網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)

    python網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)

    實(shí)踐來源于理論,做爬蟲前肯定要先了解相關(guān)的規(guī)則和原理,網(wǎng)絡(luò)爬蟲又稱為網(wǎng)頁蜘蛛,網(wǎng)絡(luò)機(jī)器人,更經(jīng)常的稱為網(wǎng)頁追逐者,是一種按照一定的規(guī)則,自動地抓取萬維網(wǎng)信息的程序或者腳本。一句話概括就是網(wǎng)上信息搬運(yùn)工。本篇文章帶你深入了解,需要的朋友可以參考下
    2021-09-09
  • 關(guān)于微信小程序爬蟲token自動更新問題

    關(guān)于微信小程序爬蟲token自動更新問題

    本文主要介紹了關(guān)于微信小程序爬蟲關(guān)于token自動更新問題,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 圖文詳解matlab原始處理圖像幾何變換

    圖文詳解matlab原始處理圖像幾何變換

    Matlab 擅長于操作矩陣,而圖像其實(shí)就是矩陣,這篇文章主要給大家介紹了關(guān)于matlab原始處理圖像幾何變換的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • Python Scrapy多頁數(shù)據(jù)爬取實(shí)現(xiàn)過程解析

    Python Scrapy多頁數(shù)據(jù)爬取實(shí)現(xiàn)過程解析

    這篇文章主要介紹了Python Scrapy多頁數(shù)據(jù)爬取實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06

最新評論

凤冈县| 东兴市| 芦山县| 海兴县| 平遥县| 松阳县| 焦作市| 翁源县| 宜城市| 临江市| 弋阳县| 重庆市| 惠安县| 涿州市| 长阳| 米易县| 全南县| 大城县| 蒲江县| 隆尧县| 白玉县| 凉城县| 长沙市| 靖州| 冷水江市| 饶河县| 韶山市| 永善县| 石景山区| 新邵县| 玛纳斯县| 沂源县| 黎川县| 大姚县| 永胜县| 太白县| 夏河县| 陇川县| 潼关县| 揭东县| 襄城县|