0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

盤點(diǎn)Pandas的100個(gè)常用函數(shù)

數(shù)據(jù)分析與開(kāi)發(fā) ? 來(lái)源:數(shù)據(jù)分析1480 ? 作者:劉順祥 ? 2021-04-01 09:52 ? 次閱讀

經(jīng)過(guò)一段時(shí)間的整理,本期將分享我認(rèn)為比較常規(guī)的100個(gè)實(shí)用函數(shù),這些函數(shù)大致可以分為六類,分別是統(tǒng)計(jì)匯總函數(shù)、數(shù)據(jù)清洗函數(shù)、數(shù)據(jù)篩選、繪圖與元素級(jí)運(yùn)算函數(shù)、時(shí)間序列函數(shù)和其他函數(shù)。

一、統(tǒng)計(jì)匯總函數(shù)數(shù)據(jù)分析過(guò)程中,必然要做一些數(shù)據(jù)的統(tǒng)計(jì)匯總工作,那么對(duì)于這一塊的數(shù)據(jù)運(yùn)算有哪些可用的函數(shù)可以幫助到我們呢?具體看如下幾張表。

96410908-9247-11eb-8b86-12bb97331649.png

96624186-9247-11eb-8b86-12bb97331649.png

import pandas as pd import numpy as np x = pd.Series(np.random.normal(2,3,1000)) y = 3*x + 10 + pd.Series(np.random.normal(1,2,1000)) # 計(jì)算x與y的相關(guān)系數(shù) print(x.corr(y)) # 計(jì)算y的偏度 print(y.skew()) # 計(jì)算y的統(tǒng)計(jì)描述值 print(x.describe()) z = pd.Series([‘A’,‘B’,‘C’]).sample(n = 1000, replace = True) # 重新修改z的行索引 z.index = range(1000) # 按照z分組,統(tǒng)計(jì)y的組內(nèi)平均值 y.groupby(by = z).aggregate(np.mean)

968a6328-9247-11eb-8b86-12bb97331649.png

96a9b8b8-9247-11eb-8b86-12bb97331649.jpg

# 統(tǒng)計(jì)z中個(gè)元素的頻次 print(z.value_counts()) a = pd.Series([1,5,10,15,25,30]) # 計(jì)算a中各元素的累計(jì)百分比 print(a.cumsum() / a.cumsum()[a.size - 1])

96cea812-9247-11eb-8b86-12bb97331649.png

二、數(shù)據(jù)清洗函數(shù)同樣,數(shù)據(jù)清洗工作也是必不可少的工作,在如下表格中羅列了常有的數(shù)據(jù)清洗的函數(shù)。

96e2916a-9247-11eb-8b86-12bb97331649.jpg

x = pd.Series([10,13,np.nan,17,28,19,33,np.nan,27]) #檢驗(yàn)序列中是否存在缺失值 print(x.hasnans) # 將缺失值填充為平均值 print(x.fillna(value = x.mean())) # 前向填充缺失值 print(x.ffill())

96f12176-9247-11eb-8b86-12bb97331649.png

96f9eba8-9247-11eb-8b86-12bb97331649.png

income = pd.Series([‘12500元’,‘8000元’,‘8500元’,‘15000元’,‘9000元’]) # 將收入轉(zhuǎn)換為整型 print(income.str[:-1].astype(int)) gender = pd.Series([‘男’,‘女’,‘女’,‘女’,‘男’,‘女’]) # 性別因子化處理 print(gender.factorize()) house = pd.Series([‘大寧金茂府 | 3室2廳 | 158.32平米 | 南 | 精裝’, ‘昌里花園 | 2室2廳 | 104.73平米 | 南 | 精裝’, ‘紡大小區(qū) | 3室1廳 | 68.38平米 | 南 | 簡(jiǎn)裝’]) # 取出二手房的面積,并轉(zhuǎn)換為浮點(diǎn)型 house.str.split(‘|’).str[2].str.strip().str[:-2].astype(float)

9740314e-9247-11eb-8b86-12bb97331649.png

三、數(shù)據(jù)篩選數(shù)據(jù)分析中如需對(duì)變量中的數(shù)值做子集篩選時(shí),可以巧妙的使用下表中的幾個(gè)函數(shù),其中部分函數(shù)既可以使用在序列身上,也基本可以使用在數(shù)據(jù)框?qū)ο笾小?/p>

976a23fa-9247-11eb-8b86-12bb97331649.png

np.random.seed(1234) x = pd.Series(np.random.randint(10,20,10)) # 篩選出16以上的元素 print(x.loc[x 》 16]) print(x.compress(x 》 16)) # 篩選出13~16之間的元素 print(x[x.between(13,16)]) # 取出最大的三個(gè)元素 print(x.nlargest(3)) y = pd.Series([‘ID:1 name:張三 age:24 income:13500’, ‘ID:2 name:李四 age:27 income:25000’, ‘ID:3 name:王二 age:21 income:8000’]) # 取出年齡,并轉(zhuǎn)換為整數(shù) print(y.str.findall(‘a(chǎn)ge:(d+)’).str[0].astype(int))

97983e3e-9247-11eb-8b86-12bb97331649.png

四、繪圖與元素級(jí)函數(shù)

97adf68e-9247-11eb-8b86-12bb97331649.png

np.random.seed(123) import matplotlib.pyplot as plt x = pd.Series(np.random.normal(10,3,1000)) # 繪制x直方圖 x.hist() # 顯示圖形 plt.show() # 繪制x的箱線圖 x.plot(kind=‘box’) plt.show() installs = pd.Series([‘1280萬(wàn)’,‘6.7億’,‘2488萬(wàn)’,‘1892萬(wàn)’,‘9877’,‘9877萬(wàn)’,‘1.2億’]) # 將安裝量統(tǒng)一更改為“萬(wàn)”的單位 def transform(x): if x.find(‘億’) != -1: res = float(x[:-1])*10000 elif x.find(‘萬(wàn)’) != -1: res = float(x[:-1]) else: res = float(x)/10000 return res installs.apply(transform)

97fc5bbc-9247-11eb-8b86-12bb97331649.png

981dfbdc-9247-11eb-8b86-12bb97331649.png

983ede6a-9247-11eb-8b86-12bb97331649.png

五、時(shí)間序列函數(shù)

98644f1a-9247-11eb-8b86-12bb97331649.png

987f2696-9247-11eb-8b86-12bb97331649.png

98daee0e-9247-11eb-8b86-12bb97331649.png

六、其他函數(shù)

9912aa10-9247-11eb-8b86-12bb97331649.png

import numpy as np import pandas as pd np.random.seed(112) x = pd.Series(np.random.randint(8,18,6)) print(x) # 對(duì)x中的元素做一階差分 print(x.diff()) # 對(duì)x中的元素做降序處理 print(x.sort_values(ascending = False)) y = pd.Series(np.random.randint(8,16,100)) # 將y中的元素做排重處理,并轉(zhuǎn)換為列表對(duì)象 y.unique().tolist()

9955e87a-9247-11eb-8b86-12bb97331649.png

9977d3ae-9247-11eb-8b86-12bb97331649.png

原文標(biāo)題:100 個(gè) pandas 數(shù)據(jù)分析函數(shù)總結(jié)

文章出處:【微信公眾號(hào):數(shù)據(jù)分析與開(kāi)發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4345

    瀏覽量

    62905

原文標(biāo)題:100 個(gè) pandas 數(shù)據(jù)分析函數(shù)總結(jié)

文章出處:【微信號(hào):DBDevs,微信公眾號(hào):數(shù)據(jù)分析與開(kāi)發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    RAPIDS cuDF將pandas提速近150倍

    在 NVIDIA GTC 2024 上,NVIDIA 宣布,RAPIDS cuDF 當(dāng)前已能夠?yàn)?950 萬(wàn) pandas 用戶帶來(lái) GPU 加速,且無(wú)需修改代碼。
    的頭像 發(fā)表于 11-20 09:52 ?288次閱讀
    RAPIDS cuDF將<b class='flag-5'>pandas</b>提速近150倍

    常用SQL函數(shù)及其用法

    SQL(Structured Query Language)是一種用于管理和操作關(guān)系數(shù)據(jù)庫(kù)的編程語(yǔ)言。SQL 提供了豐富的函數(shù)庫(kù),用于數(shù)據(jù)檢索、數(shù)據(jù)更新、數(shù)據(jù)刪除以及數(shù)據(jù)聚合等操作。以下是一些常用
    的頭像 發(fā)表于 11-19 10:18 ?415次閱讀

    RNN的損失函數(shù)與優(yōu)化算法解析

    函數(shù)有以下幾種: 交叉熵?fù)p失函數(shù) :交叉熵(Cross Entropy)是一種評(píng)估兩個(gè)概率分布之間差異的度量方法,即通過(guò)比較模型預(yù)測(cè)的概率分布和真實(shí)概率分布之間的差異,來(lái)評(píng)估模型訓(xùn)練的性能。在RNN中,交叉熵?fù)p失
    的頭像 發(fā)表于 11-15 10:16 ?582次閱讀

    SUMIF函數(shù)與SUMIFS函數(shù)的區(qū)別

    SUMIF函數(shù)和SUMIFS函數(shù)都是Excel中用于條件求和的函數(shù),它們可以幫助用戶根據(jù)特定的條件對(duì)數(shù)據(jù)進(jìn)行求和。盡管它們的基本功能相似,但在使用場(chǎng)景和功能上存在一些差異。以下是對(duì)這兩個(gè)
    的頭像 發(fā)表于 10-30 09:51 ?1512次閱讀

    Python常用函數(shù)大全

    在 Python 世界里,有一些寶藏函數(shù)和模塊,它們可以讓你編程更輕松、代碼更高效。這篇文章將帶你一一認(rèn)識(shí)這些神器,讓你的開(kāi)發(fā)生活瞬間輕松不少!
    的頭像 發(fā)表于 10-27 17:20 ?328次閱讀

    什么叫系統(tǒng)的頻率響應(yīng)函數(shù)?它和傳遞函數(shù)有何關(guān)系

    工具。它是一個(gè)復(fù)數(shù)函數(shù),通常用H(jω)表示,其中ω是角頻率,j是虛數(shù)單位。頻率響應(yīng)函數(shù)可以提供系統(tǒng)在頻域內(nèi)的行為特征,包括系統(tǒng)的增益、相位以及共振頻率等信息。 頻率響應(yīng)
    的頭像 發(fā)表于 10-18 09:29 ?2341次閱讀

    labview常用的基本函數(shù)

    電子發(fā)燒友網(wǎng)站提供《labview常用的基本函數(shù).pdf》資料免費(fèi)下載
    發(fā)表于 10-15 17:29 ?7次下載

    labview中常用的字符串函數(shù)有哪些?

    ) : 功能:該函數(shù)用于返回字符串所包含的字符個(gè)數(shù)。 應(yīng)用場(chǎng)景:常用于需要計(jì)算字符串長(zhǎng)度的場(chǎng)景,如文件命名、數(shù)據(jù)處理等。 連接字符串(String Concatenate) : 功能:將兩個(gè)或多個(gè)字符串連接成一
    的頭像 發(fā)表于 09-04 15:43 ?954次閱讀

    簡(jiǎn)述socket編程中的常用函數(shù)

    Socket編程是一種基于TCP/IP協(xié)議的網(wǎng)絡(luò)編程技術(shù),它允許應(yīng)用程序通過(guò)網(wǎng)絡(luò)進(jìn)行通信。在Socket編程中,有許多常用函數(shù),它們用于創(chuàng)建、配置、連接、發(fā)送和接收數(shù)據(jù)等操作。以下是對(duì)這些常用
    的頭像 發(fā)表于 08-16 10:49 ?450次閱讀

    函數(shù)信號(hào)發(fā)生器怎么調(diào)頻率

    函數(shù)信號(hào)發(fā)生器是一種常用的電子測(cè)試設(shè)備,它能夠產(chǎn)生各種波形、頻率和幅度的信號(hào),廣泛應(yīng)用于科研、教學(xué)、生產(chǎn)和維修等領(lǐng)域。在使用函數(shù)信號(hào)發(fā)生器時(shí),調(diào)整頻率是其中一個(gè)非常重要的步驟。本文將詳
    的頭像 發(fā)表于 05-20 18:23 ?1727次閱讀

    MATLAB信號(hào)處理常用函數(shù)詳解

    MATLAB是一款功能強(qiáng)大的數(shù)學(xué)軟件,尤其在信號(hào)處理領(lǐng)域,它提供了眾多的函數(shù)和工具箱,使得信號(hào)的分析、處理、仿真變得簡(jiǎn)單而高效。本文將詳細(xì)介紹MATLAB在信號(hào)處理中常用函數(shù),并通過(guò)具體示例來(lái)闡述其應(yīng)用。
    的頭像 發(fā)表于 05-17 14:31 ?2570次閱讀

    回調(diào)函數(shù)(callback)是什么?回調(diào)函數(shù)的實(shí)現(xiàn)方法

    回調(diào)函數(shù)是一種特殊的函數(shù),它作為參數(shù)傳遞給另一個(gè)函數(shù),并在被調(diào)用函數(shù)執(zhí)行完畢后被調(diào)用。回調(diào)函數(shù)
    發(fā)表于 03-12 11:46 ?3120次閱讀

    函數(shù)指針與回調(diào)函數(shù)的應(yīng)用實(shí)例

    通常我們說(shuō)的指針變量是指向一個(gè)整型、字符型或數(shù)組等變量,而函數(shù)指針是指向函數(shù)。 函數(shù)指針可以像一般函數(shù)一樣,用于調(diào)用
    的頭像 發(fā)表于 03-07 11:13 ?429次閱讀
    <b class='flag-5'>函數(shù)</b>指針與回調(diào)<b class='flag-5'>函數(shù)</b>的應(yīng)用實(shí)例

    內(nèi)聯(lián)函數(shù)定義 為什么需要內(nèi)聯(lián)函數(shù)

    inline關(guān)鍵字是C99標(biāo)準(zhǔn)的型關(guān)鍵字,其作用是將函數(shù)展開(kāi),把函數(shù)的代碼復(fù)制到每一個(gè)調(diào)用處。
    的頭像 發(fā)表于 02-19 12:20 ?579次閱讀

    傳遞函數(shù)的定義是什么 傳遞函數(shù)的拉氏反變換是什么響應(yīng)

    傳遞函數(shù)的定義: 傳遞函數(shù)是一種數(shù)學(xué)工具,用于描述線性時(shí)不變系統(tǒng)(LTI系統(tǒng))的輸入與輸出之間的關(guān)系,通常用H(s)表示。傳遞函數(shù)是Laplace變換的
    的頭像 發(fā)表于 02-01 10:53 ?4865次閱讀