1. 程式人生 > >Numpy 小結

Numpy 小結

Python 真火來學習一下,先來看一個庫 NumPy。NumPy是Python語言的一個擴充程式庫。支援高階大量的維度陣列與矩陣運算,此外也針對陣列運算提供大量的數學函式庫。

1. 讀取檔案

numpy.genfromtxt() 用於讀取 txt 檔案,其中傳入的引數依次為:

  1. 需要讀取的 txt 檔案位置,此處檔案與程式位於同一目錄下
  2. 分割的標記
  3. 轉換型別,如果檔案中既有文字型別也有數字型別,就先轉成文字型別

help(numpy.genfromtxt)用於檢視幫助文件:
如果不想看 API 可以啟動一個程式用 help 檢視指令的詳細用法

            Python
 
1 2 3 4 5 6 import numpy   world_alcohol = numpy.genfromtxt("world_alcohol.txt", delimiter=",",dtype=str)
print(type(world_alcohol)) print(world_alcohol) print(help(numpy.genfromtxt))

 

2. 構造 ndarray

numpy.array()構造 ndarray

numpy.array()中傳入陣列引數,可以是一維的也可以是二維三維的。numpy 會將其轉變成 ndarray 的結構。

          Python  
1 2 vector = numpy.array([1,2,3,4]) matrix = numpy.array([[1,2,3],[4,5,6]])

傳入的引數必須是同一結構,不是同一結構將發生轉換。

          Python  
1 2 3 vector = numpy.array([1,2,3,4])   array([1, 2, 3, 4])

均為 int 型別

          Python  
1 2 3 vector = numpy.array([1,2,3,4.0])   array([ 1.,  2.,  3.,  4.])

轉為浮點數型別

          Python  
1 2 3 vector = numpy.array([1,2,'3',4])   array(['1', '2', '3', '4'],dtype='<U21')

轉為字元型別

利用 .shape 檢視結構

能夠了解 array 的結構,debug 時通過檢視結構能夠更好地瞭解程式執行的過程。

          Python  
1 2 3 4 print(vector.shape) print(matrix.shape) (4,) (2, 3)

 

利用 dtype 檢視型別

 

          Python  
1 2 3 4 vector = numpy.array([1,2,3,4]) vector.dtype   dtype('int64')

 

ndim 檢視維度

一維

          Python  
1 2 3 4 vector = numpy.array([1,2,3,4]) vector.ndim   1

二維

          Python  
1 2 3 4 5 6 matrix = numpy.array([[1,2,3],                       [4,5,6],                      [7,8,9]]) matrix.ndim   2

 

size 檢視元素數量

 

          Python  
1 2 matrix.size 9

 

3. 獲取與計算

numpy 能使用切片獲取資料

 

          Python  
1 2 3 matrix = numpy.array([[1,2,3],                       [4,5,6],                      [7,8,9]])

 

根據條件獲取

numpy 能夠依次比較 vector 和元素之間是否相同

          Python  
1 2 3 4 vector = numpy.array([5, 10, 15, 20]) vector == 10   array([False,  True, False, False], dtype=bool)

根據返回值獲取元素

          Python  
1 2 3 4 5 6 7 vector = numpy.array([5, 10, 15, 20]) equal_to_ten = (vector == 10) print(equal_to_ten) print(vector[equal_to_ten])   [False  True False False] [10]

進行運算之後獲取

          Python  
1 2 vector = numpy.array([5, 10, 15, 20]) equal_to_ten_and_five = (vector == 10) & (vector == 5)

 

          Python  
1 2 vector = numpy.array([5, 10, 15, 20]) equal_to_ten_or_five = (vector == 10) | (vector == 5)

 

型別轉換

將整體型別進行轉換

          Python  
1 2 3 4 5 6 7 vector = numpy.array([5, 10, 15, 20]) print(vector.dtype) vector = vector.astype(str) print(vector.dtype)   int64 <U21

 

求和

sum() 能夠對 ndarray 進行各種求和操作,比如分別按行按列進行求和

          Python  
1 2 3 4 5 6 7 8 9 10 matrix = numpy.array([[1,2,3],                       [4,5,6],                      [7,8,9]]) print(matrix.sum()) print(matrix.sum(1)) print(matrix.sum(0))   45 [ 6 15 24] [12 15 18]

sum(1) 是 sum(axis=1)) 的縮寫,1表示按照 x軸方向求和,0表示按照y軸方向求和

4. 常用函式

reshape

生成從 0-14 的 15 個數字,使用 reshape(3,5) 將其構造成一個三行五列的 array。

          Python  
1 2 3 4 5 6 7 import numpy as np arr = np.arange(15).reshape(3, 5) arr   array([[ 0,  1,  2,  3,  4],        [

相關推薦

Numpy 小結

Python 真火來學習一下,先來看一個庫 NumPy。NumPy是Python語言的一個擴充程式庫。支援高階大量的維度陣列與矩陣運算,此外也針對陣列運算提供大量的數學函式庫。 1. 讀取檔案 numpy.genfromtxt() 用於讀取 txt 檔案,其中傳入的引數依次為: 需要讀取

Numpy用法小結

匯入numpy庫: import numpy as np 1、建立向量/矩陣: arr = np.array([[1,2,3],[4,5,6]]) '''array([[1, 2, 3], [4, 5, 6]])''' arr.shape (2, 3) mat =

numpy一些常用函式小結

最近在學numpy,學習一門新的語言總有許多的API,而這些API又雜又容易忘記,所以我把一些常用的函式記錄下來以便以後隨時查閱 1.np.sqrt()函式用來給一個列表中每一個元素求根號 import numpy as np import numpy.

小結:VB.NET機房收費系統個人版

style 曾經 static 設計 由於 什麽 圖書館 block 技術 經過幾天的縫縫補補,自己的個人版最終OK了,!或許是由於有第一次的機房收費系統的經驗,這次做,感覺很親切。 在業務邏輯方面,沿襲曾經的邏輯。做了一點升級。可是修改不大。

IntelliJ IDEA常用快捷鍵小結

導入 ... 調用 ins 函數 隱藏 文檔 提示 alt+ IntelliJ Idea 常用快捷鍵列表 Ctrl+Alt+t 選擇代碼塊 try catch Alt+回車 導入包,自動修正Ctrl+N 查找類Ctrl+Shift+N 查找文件Ctrl+Alt+L 格

有利於SEO的DIV+CSS的命名規則小結

程序員 命名 開發 編織 由於項目中編寫文檔結構、編寫CSS的人員較多,並與程序員協同工作,所以就需要統一開發規範,根據XHTMl和CSS編織的規範和大多人的習慣,整理了以下針對本項目的一個簡單的開發規範.一、CSS文件及樣式命名 1、CSS文件命名規範 全局樣式:global.css; 框架

python 時間模塊小結(time and datetime)

間隔 -i date對象 per inf ear macbook port 兩個 一:經常使用的時間方法 1.得到當前時間 使用time模塊,首先得到當前的時間戳 In [42]: time.time() Out[42]: 1408066927.208922 將時間戳轉換

Linux下磁盤空間不足的小結

linux 空間 如何 1、i節點滿了如何解決:a)刪除無用的臨時文件,釋放inodeb)查看是不是0字節文件太多,因為0字節的文件也會占用inode2、磁盤真的是空間不夠了對於大磁盤來說,保留空間繼續保持默認(5%,留給root用戶維護系統或者記錄關鍵日誌的時候使用),對資源的確是一種浪費,可以

Vue工作原理小結

key 如何實現 reference 讀寫 owa 方法 cli scrip 枚舉 本文能幫你做什麽?1、了解vue的雙向數據綁定原理以及核心代碼模塊2、緩解好奇心的同時了解如何實現雙向綁定為了便於說明原理與實現,本文相關代碼主要摘自vue源碼, 並進行了簡化改造,相對較

代碼上線流程以及版本發布小結

監測 請求 log app 說明 process class 指定 簡單 之前的上線流程很簡單粗暴如圖: 這簡直是災難性質的,上傳 SVN,在測試服務器上看看正在調試的接口沒問題,直接 sync 到線上服務器。代碼無法回滾,只能覆蓋。而客戶端的同學需要穩當的 api 作為

numpy linalg模塊

單位矩陣 其中 dot pin 模塊 函數返回 vector pseudo cto # 線性代數# numpy.linalg模塊包含線性代數的函數。使用這個模塊,可以計算逆矩陣、求特征值、解線性方程組以及求解行列式等。 import numpy as np # 1. 計算逆

Fragment小結

star hello mov 查看 bundle 返回 手機 fcm 程序 Fragment是Android3.0之後增加的新特性,通常人們叫它碎片。可是,我認為把它理解成一個View模塊比較好,盡管它不是繼承自View。假設閱讀過源代碼就知道它是內置View對象從而實

numpy中一些常用函數的用法總結

num matrix 空白 記錄 維數 補充 結果 創建 array 先簡單記錄一下,後續補充詳細的例子 1. strip()函數 s.strip(rm):s為字符串,rm為要刪除的字符序列 只能刪除開頭或是結尾的字符或者字符串。不能刪除中間的字符或是字符串 當rm為空

crontab計劃任務無法執行(小結

crontab最近在與朋友梳理運維中遇到的坑的時候,發現大家都遇見過crontab計劃任務沒法正常執行的情況,如是簡單的整理下,主要有如下幾種情況:1、環境變量是否定義說明:crontab執行shell時,只能識別為數不多的環境變量,所有在腳本中最好使用export重新聲明下該變量說明:shell腳本rman

網絡流小結

n-1 uniq stdout 問題 %d 出現 mat 但是 comment 第一個問題: 費用流中。原圖無負環的前提上。為什麽增廣時的最短路算法不會陷入負環。即為什麽增廣後的殘圖不會出現負環? 事實上這是一個非常淺顯的問題。但是我糾結了好長時間。233。 首先如

bug排查小結

解決 roc ssl mysq show mysql 引擎 ces 排查 mysql cpu利用率偏高,並且長時間居高不下。 show processlist 發現有一個單表查詢的sql語句出現的頻率比較高, 這個單表查詢中規中矩,where語句中條件都使用&r

『Python』Numpy學習指南第三章__常用函數

第一個 indices first 填充 del lib ida like otl 感覺心情漸漸變好了,加油!np.eye(2)np.savetxt(‘eye.txt‘,i2)c,v = np.loadtxt(‘data.csv‘, delimiter=‘,‘, useco

15年錯題小結2月

規格 基礎 c# 控制 格式 選項 oid 1.5 第一範式 我將給大家解析一些題 在一個Person類中已經定義好了一個代參的方法,直接實例化對象就賦值就好了 所以在 a,b,c,d四個選項中 C 正確 故選 C、 4. 應選d 這題選b正確 編寫

python:將numpy數組寫入csv文件

port tor cto imp span bsp pan logs txt 1 import numpy as np 2 np.savetxt(‘E:\\forpython\\featvector.csv‘,data_to_save,delimiter=‘,‘) p

python科學計算之numpy

oms 定義 [0 3.2 form print span mat linspace 1.np.logspace(start,stop,num): 函數表示的意思是;在(start,stop)間生成等比數列num個 eg: import numpy as np