python數據分析基礎之numpy

2021-01-15 百家號

NumPy是Python語言的一個擴充程序庫。支持高級大量的維度數組與矩陣運算,是學習數據挖掘的基礎,今天我們就來總結下numpy的一些基礎用法。

首先,在講numpy之前,我先帶領大家預習下大學學習過的矩陣的基礎知識。

1、矩陣的基本概念

矩陣:由m×n個數排列成 的m行n列的數表,稱為m行n列矩陣。

實矩陣:元素是實數的矩陣。

復矩陣:元素是負數的矩陣。

方陣:行數和列數相等的矩陣。

行矩陣(或行向量):只有一行的矩陣。

列矩陣(或列向量):只有一列的矩陣。

零矩陣:矩陣的元素全部是0的矩陣。

單位矩陣:n行n列,且主對角線上都是1,其他位置都是0的矩陣(主對角線上元素都是1,其他位置是0的方陣)

2、矩陣的運算

矩陣加法:同型矩陣中各元素對應相加。如圖:

矩陣加法規則

數乘矩陣:需要相乘的數對矩陣中的每個元素做乘法操作,如圖:

數乘矩陣

註:矩陣相加與數乘矩陣合起來,稱為矩陣的線性運算。

矩陣與矩陣相乘:一個m行s列的矩陣與一個s行n列的矩陣相乘,得到一個m×n的矩陣。如圖:

矩陣乘法

註:注意:只有當第一個矩陣的列數等於第二個矩陣的行數時,兩個矩陣才能相乘。且矩陣乘法不一定滿足交換律。

3、矩陣的轉置

轉置矩陣:把矩陣A的行換成同序數的列得到的新矩陣,叫做A的轉置矩陣,如圖:

矩陣轉置

對稱矩陣:如果A為n階方陣,如果滿足A=At(A的轉置),那麼A為對稱陣。如圖

對稱矩陣

相應的,如果滿足A=-At(A的轉置),那麼A為反對稱陣。如圖

反對稱矩陣

好了,以上就是關於矩陣的一些基礎回顧,有這些基礎概念的小夥伴可以直接略過,下面正式總結一下numpy的基礎用法。

1、numpy讀取文本文件形成一個矩陣

numpy讀取文件生成矩陣

通過索引及切片選取其中的元素:

取第2行第5列數據
取所有行第2列數據
取所有列第3行數據

2、用numpy.array創建矩陣

array創建矩陣

注意:numpy.array中的元素類型必須一致。

3、numpy.array中進行判斷操作(==)

用「==」判斷
用判斷邏輯值作為索引取數

邏輯與判斷(&):

邏輯與判斷

邏輯或判斷(|):

邏輯或判斷

4、用astype()函數對矩陣的元素類型進行轉換

元素類型轉換

5、numpy運算,極值及求和

求極值及求和

6、通過numpy.arange()及reshape()函數構造矩陣

reshape構造矩陣

7、初始化矩陣函數numpy.zeros()和numpy.ones()

生成0矩陣
生成一個元素全為1的矩陣

8、生成隨機數矩陣numpy.random.random()函數和numpy.linspace()函數

生成指定元素的行向量

9、用numpy進行矩陣運算

矩陣加減法:

矩陣減法
矩陣加法

矩陣乘法:

a=np.random.random((3,2))

b=np.random.random((2,3))

#矩陣的乘法,用.dot表示,如果用*,表示的是對應位置相乘,那麼暗指這兩個矩陣必須是同型矩陣

c=a.dot(b)

矩陣乘法

好了,今天總結就到這裡,下節開始講pandas的基礎用法。喜歡的小夥伴點個關注吧

相關焦點

  • Python數據分析之Numpy學習 2——NumPy 基礎 ndarray對象
    Python數據分析之Numpy學習 2 —— NumPy 基礎學習NumPy(Numerical Python)是高性能科學計算和數據分析的基礎包。NumPy的主要對象是同構數據多維容器(homogeneous multidimensional array)——ndarray,也就是說每一個ndarray都是一個相同類型元素組成的表格(二維)。
  • 數據分析-numpy庫快速了解
    1.numpy是什麼庫NumPy是一個開源的Python科學計算基礎庫,包含: 一個強大的N維數組對象 ndarray 廣播功能函數 整合C/C++/Fortran代碼的工具 線性代數、傅立葉變換、隨機數生成等功能
  • 大數據分析Python NumPy庫使用教程
    我將在大數據分析Python NumPy庫使用教程中學到什麼? 大數據分析Python NumPy庫使用教程為數據工程師提供有關NumPy的從零開始的培訓。這意味著您不需要具有NumPy的任何經驗,也不會浪費任何時間學習與數據工程工作無關的東西。
  • Python數據分析之numpy學習(一)
    在學完《廖雪峰Python2.7教程》感覺受益匪淺,掌握了基本的語法之後開始接觸用Python進行數據分析。這裡向大家推薦兩本書《Python數據分析》和《利用Python進行數據分析》,而這兩本書也是目前我正在學習的材料,雖然這兩本書都是基於Python2.x,但對於Python3.x也能正常運行。
  • Python數據分析之numpy數組全解析
    1 什麼是numpy2 numpy數組創建2.1 基本方法:np.array()2.2 通用方法:np.ones()、np.zeros()、np.eye()2.3 讀取外部數據3 numpy中數組的數據類型4 numpy中數組的形狀5 索引與切片5.1 按索引取值
  • 資源|用Python和NumPy學習《深度學習》中的線性代數基礎
    本文系巴黎高等師範學院在讀博士 Hadrien Jean 的一篇基礎學習博客,其目的是幫助初學者/高級初學者基於深度學習和機器學習來掌握線性代數的概念。掌握這些技能可以提高你理解和應用各種數據科學算法的能力。
  • python數據科學系列:numpy入門詳細教程
    python數據科學基礎庫主要是三劍客:numpy,pandas以及matplotlib,每個庫都集成了大量的方法接口,配合使用功能強大。numpy:numerical python縮寫,提供了底層基於C語言實現的數值計算庫,與python內置的list和array數據結構相比,其支持更加規範的數據類型和極其豐富的操作接口,速度也更快num
  • Python的武器庫05:numpy模塊(下)
    說到程式語言python,有一個著名的格言"餘生太短,只用python"。如果要分析為什麼會存在這麼一句格言?python的語法並不簡單,有複雜難懂的部分,之所以有這樣一句格言,是因為python中有很多強大的模塊,就像一個武器庫。
  • 好程式設計師Python培訓分享numpy簡介
    NumPy數組用於存儲訓練數據和機器學習模型的參數。 圖像處理和計算機圖形學:計算機中的圖像表示為多維數字數組。NumPy成為同樣情況下最自然的選擇。實際上,NumPy提供了一些優秀的庫函數來快速處理圖像。例如,鏡像圖像、按特定角度旋轉圖像等。 數學任務:NumPy對於執行各種數學任務非常有用,如數值積分、微分、內插、外推等。
  • Python數據分析類庫系列-Numpy之多維數組ndarray
    你可以利用這種數組對整塊數據執行一些數學運算,其語法跟標量元素之間的運算一樣。 要明白Python是如何利用與標量值類似的語法進行批次計算,我先引入NumPy,然後生成一個包含隨機數據的小數組: import numpy as np data = np.random.randn(2,3)data out:
  • Python使用ctypes模塊調用DLL函數之C語言數組與numpy數組傳遞
    詳細細節請參考:python使用ctypes模塊調用DLL函數之傳遞數值、指針與字符串參數、Python使用ctypes模塊調用DLL函數之傳遞結構體參數這次講一下在Python中使用ctypes模塊調用DLL中的庫函數傳遞數組參數的情況。
  • 如果不懂Numpy,請別說自己是Python程式設計師
    幸運的是,後來我遇到了 numpy 這個神器。numpy 是 python 科學計算的基礎軟體包,提供多了維數組對象,多種派生對象(掩碼數組、矩陣等)以及用於快速操作數組的函數及 API,它包括數學、邏輯、數組形狀變換、排序、選擇、I/O 、離散傅立葉變換、基本線性代數、基本統計運算、隨機模擬等等。
  • Python視頻教程網課編程零基礎入門數據分析網絡爬蟲全套Python...
    總目錄 零基礎全能篇(4套課程) 實用編程技巧進價(1套課程) 數據分析與挖掘(8套課程) 辦公自動化(3套課程) 機器學習與人工智慧(7套課程) 開發實戰篇(4套課程) 量化投資(2套課程) 網絡爬蟲(6套課程) 資料庫操作(1套課程) python
  • numpy中的數據類型對象有哪些
    Numpy數據類型numpy是一個python擴展包,它可以為我們提供更精確的科學技術,更強大的數學能力。為此,numpy定義了比python更豐富的數據類型來達成目的。數據類型以上就是一系列Numpy中提供的數據類型。需要理解的是,Numpy中的數據類型,和python本身的數據類型是不同的。Numpy中的數據類型,實質是數據類型對象dtype的實例。
  • 不懂NumPy 算什麼 Python 程式設計師?|CSDN 博文精選
    事實上,NumPy 的數據組織結構,尤其是數組(numpy.ndarray),幾乎已經成為所有數據處理與可視化模塊的標準數據結構了(這一點,類似於在機器學習領域 Python 幾乎已經成為首選工具語言)。
  • Python中的Numpy基礎20問
    import numpy as np# 創建二維數組x2 = np.array([[1,2,3],[4,5,6]])# 將x2轉換為三維數組,並且自定義每個軸的元素數量x2.resize((1,2,3))x2'''輸出:array([[[1, 2, 3],[4, 5, 6]]])'''如何對數組進行索引和切片操作?numpy一維數組的索引和切片操作類似python列表,這裡不多講。
  • Python的武器庫04:numpy模塊(上)
    說到程式語言python,有一個著名的格言"餘生太短,只用python"。如果要分析為什麼會存在這麼一句格言?python的語法並不簡單,有複雜難懂的部分,之所以又這樣一句格言,是因為python中有很多強大的模塊,就像一個武器庫。Python正式由於這些模塊的出現,只要引入這個模塊,調用這個模塊的集成函數,問題迎刃而解;不需要從頭開始,節省了大量的時間。
  • 懂Excel輕鬆入門Python數據分析包pandas(二十七):IF函數代替者
    此系列文章收錄在:數據大宇宙 > 數據處理 > E-pd轉發本文並私信我"python",即可獲得Python資料以及更多系列文章(持續更新的)經常聽別人說 Python 在數據領域有多厲害,結果學了很長時間,連數據處理都麻煩得要死。
  • 學習筆記,從NumPy到Scrapy,學習Python不能錯過這些庫
    一、核心庫與統計1.NumPynumpy(Numerical Python extensions)是一個第三方的Python包,用於科學計算。其前身是1995年就開始開發的一個用於數組運算的庫。經過了長時間的發展,基本上成了絕大部分Python科學計算的基礎包,當然也包括所有提供Python接口的深度學習框架。
  • Python學習第114課——numpy中ndarray的四則運算
    【每天幾分鐘,從零入門python編程的世界!】我們為什麼要學習numpy?numpy其實就是number+Python的簡寫,意思就是通過Python對數據進行處理。要對數據進行處理,就少不了最基本的加減乘除等操作。