盤點Pandas 的100個常用函數

2021-01-15 CDA數據分析師

作者 | 劉順祥 來源 | 數據分析1480

這一期將分享我認為比較常規的100個實用函數,這些函數大致可以分為六類,分別是統計匯總函數、數據清洗函數、數據篩選、繪圖與元素級運算函數、時間序列函數和其他函數。

統計匯總函數

數據分析過程中,必然要做一些數據的統計匯總工作,那麼對於這一塊的數據運算有哪些可用的函數可以幫助到我們呢?具體看如下幾張表。

import pandas as pdimport numpy as npx = pd.Series(np.random.normal(2,3,1000))y = 3*x + 10 + pd.Series(np.random.normal(1,2,1000))# 計算x與y的相關係數print(x.corr(y))# 計算y的偏度print(y.skew())# 計算y的統計描述值print(x.describe())z = pd.Series(['A','B','C']).sample(n = 1000, replace = True)# 重新修改z的行索引z.index = range(1000)# 按照z分組,統計y的組內平均值y.groupby(by = z).aggregate(np.mean)

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

數據清洗函數

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

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

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

數據篩選

數據分析中如需對變量中的數值做子集篩選時,可以巧妙的使用下表中的幾個函數,其中部分函數既可以使用在序列身上,也基本可以使用在數據框對象中。

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)])# 取出最大的三個元素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'])# 取出年齡,並轉換為整數print(y.str.findall('age:(d+)').str[0].astype(int))

繪圖與元素級函數

時間序列函數

其他函數

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

相關焦點

  • Pandas transform函數
    在本文中,我們將介紹以下最常用的Pandas transform()用途:轉換值組合groupby()過濾數據在組級別處理缺失值請查看我的Github repo以獲取原始碼;https://github.com/BindiChen/machine-learning/blob/master/data-analysis/013-pandas-transform/pandas-transform.ipynb
  • Pandas 必知必會的使用技巧,值得收藏!
    本期的主題是關於python的一個數據分析工具pandas的,歸納整理了一些工作中常用到的pandas使用技巧,方便更高效地實現數據分析。 df = pd.DataFrame({'Sp':['a','b','c','d','e','f'], 'Mt':['s1', 's1', 's2','s2','s2','s3'], 'Value':[1,2,3,4,5,6], 'Count':[3,2,5,10,10,6]}) df df.iloc
  • 數據處理必看:如何讓你的 pandas 循環加快 71803 倍
    雷鋒網 AI 開發者按,如果你使用 python 和 pandas 進行數據分析,那麼不久你就會第一次使用循環了。然而,即使是對小型數據集,使用標準循環也很費時,你很快就會意識到大型數據幀可能需要很長的時間。當我第一次等了半個多小時來執行代碼時,我找到了接下來想與你共享的替代方案。標準循環數據幀是具有行和列的 pandas 對象。
  • 關於Numpy和Pandas axis的理解
    在機器學習中我們常常處理幾十維的數據,對於機器學習常用的Numpy庫,當我們賦予二維數組每一行一個值的時候,那麼此時二維數組的列數就是多維空間的維度。每一行給的值通常是我們的樣本值,它也是損失函數準確度的一個依據。
  • Pandas 數據處理|Datetime 時間模塊在 Pandas 中的使用
    Datatime 作為 Python 中的時間模塊類型,處理時間有關數據是非常方便的, Pandas 作為數據分析程序包同樣也支持 DataTime 數據機制,例如1,函數 to_datetime() 將數據列表中的 Series 列轉化為 datetime 類型,#Convert the type to datetimeapple.Date =
  • World's only all-white panda's new gilded look!
    Only when the parent pandas both carry the gene can the baby show the albino traits.Albinism usually does not affect the animal's physical makeup and functions.
  • 英語小作文:Pandas 熊貓
    新東方網>英語>英語學習>英語寫作>中小學英語作文>正文英語小作文:Pandas 熊貓 2013-01-15 17:29 來源:恆星英語 作者:
  • 20個Pandas函數詳解
    它提供了許多函數和方法來加快數據分析過程。pandas之所以如此普遍,是因為它具有強大的功能,以及他簡單的語法和靈活性。在這篇文章中,我將舉例來解釋20個常用的pandas函數。有些是很常見的,我敢肯定你以前用過。有些對你來說可能是新的。所有函數都將為你的數據分析過程增加價值。
  • 小學英語作文:Pandas went visiting the park
    新東方網>英語>英語學習>英語寫作>中小學英語作文>正文小學英語作文:Pandas went visiting the park 2013-01-16 14:35 來源:恆星英語 作者:
  • 圖解四個實用的pandas函數!
    作者:Baijayanta Roy來源:towardsdatascience編譯&內容補充:早起Python在用python進行機器學習或者日常的數據處理中,pandas是最常用的Python庫之一,熟練掌握pandas是每一個數據科學家的必備技能,本文將用代碼+圖片詳解Pandas中的四個實用函數!
  • Pandas Rub Themselves in Horse Manure to Feel Warm, Study Finds
    Researchers recorded 38 instances of wild giant pandas interacting
  • Pandas GUI:如何輕鬆獲取Pandas數據幀?
    這些庫本質上是在hood中運行Pandas的功能,如SweetViz和Pandas profiling庫。· 基於GUI的Pandas替代品,如Bamboolib。最近,筆者發現了另一個基於GUI的Pandas替代,叫做PandasGUI。它具有繪製數據幀以及重新構建數據幀的功能,用戶也可以進行任意自定義操作。本文將介紹它的各種功能以及在數據中使用的方法。
  • python機器學習:常用庫的介紹及安裝
    查看版本代碼4、下面我們來簡單介紹一下機器學習中常用庫:首先是Numpy,是用於科學計算的基礎包之一。功能包含多維數組、高級數學函數以及偽隨機數生成器的,其次是Scipy,用於科學計算的函數幾何。它具有線性代數高級程序、數學函數優化信號處理、特殊數學函數和統計分布等多項功能。最後我們看一下matplotlib庫,主要用於生產各種可視化內容,也就是圖形顯示。5、實例演示:我們在Spyder中輸入如下代碼,然後運行。
  • 圖解NumPy:常用函數的內在機制
    支持大量多維數組和矩陣運算的 NumPy 軟體庫是許多機器學習開發者和研究者的必備工具,本文將通過直觀易懂的圖示解析常用的 NumPy 功能和函數,幫助你理解 NumPy 操作數組的內在機制。其兩個常用功能都有各自的專用函數:過度重載的 np.where 函數和 np.clip 函數。它們的含義如下:向量運算NumPy 在速度上很出彩的一大應用領域是算術運算。向量運算符會被轉換到 C++ 層面上執行,從而避免緩慢的 Python 循環的成本。NumPy 支持像操作普通的數那樣操作整個數組。
  • Pandas 中第二好用的函數是?
    本文主要講的是Pandas中第二好用的函數——apply。為什麼說第二好用呢?做人嘛,最重要的就是謙虛,做函數也是一樣的,而apply就是這樣一個優雅而謙虛的函數。我們單獨用一篇來為apply樹碑立傳,原因有二,一是因為apply函數極其靈活高效,甚至是重新定義了pandas的靈活,一旦熟練運用,在數據清洗和分析界可謂是「屠龍在手,天下我有」;二是apply概念相對晦澀,需要結合具體案例去咀嚼和實踐。Apply初體驗apply函數,因為她總是和分組函數一起出現,所以在江湖得了個「groupby伴侶」的稱號。
  • PandaSQL:一個讓你能夠通過SQL語句進行pandas的操作的python包
    第二個是事務Dataframe。我想知道促銷活動推動的銷售情況,也就是促銷期間的銷售情況。我們可以通過聯接項目列以及聯接條件(TransactionDt≥StartDt和TransactionDt≤EndDt)來實現這一點。因為現在我們的連接條件也有大於號和小於號,這樣的連接稱為不等連接。在繼續之前,一定要考慮如何在pandas中做這樣的事情。
  • Python數據處理包,pandas 乾貨知識,關於軸的理解
    前言axis 表示軸,是處理多維數據時用於表示維度方向的概念,在 pandas 中大部分的方法都有 axis 參數,因為 pandas 需要調用者告訴他,需要處理的是哪個維度的數據。本文將分享我對 axis 的理解,希望幫助你更好理解 axis 的概念,這些概念不僅僅應用在 pandas ,同樣適合於其他相關的庫的理解(如 numpy 中的3維或以上的處理)。
  • 股市常用英文大盤點
    The Chinese mainland's stock market is on fire.The Shanghai Stock Market Index is up 20 per cent just this month, 30 per cent for the year and almost 100 per cent over 12 months.
  • Panda, a chubby angel of friendship
    Accordingly, as the lebensraum of pandas getting smaller, there was a time when pandas and saber-toothed tigers compete for food.