Python的Numpy入門基礎1

2021-09-26 10:27:51 字數 2314 閱讀 1963

numpy作為python的常用庫,主要實現陣列的計算和分析,其優點是直接進行陣列計算,相比python的巢狀列表,更加高效。在功能上,與pandas存在一定的相似性。

引用庫的方法:

import numpy as np  #一般縮寫為np,方便後續的引用
在資料分析過程中,存在建立定義、索引、切片、矩陣轉置等。

在矩陣定義過程中,常用的幾種方式:

x=np.array([1,2,3,4], dtype=np.float64) ## 定義了矩陣的數值、數值型別(int、float等)x=np.arange(0,15,1).reshape(5,3) # 定義了維度為5行3列的陣列,數值依次為0~15

x=np.zeros((2,3,2)) # 定義全0陣列的三維陣列,行、列、頁 分別為2 3 2(類似的還有ones、empty)

當陣列定義完成後,可能涉及到對陣列的檢查和轉換:

np.shape(x),檢查陣列 x 的維度,輸出(行,列);

np.dtype(x),檢查陣列 x 的資料型別,輸出int……;

轉換型別:

x.astype(np.float64),將陣列 x 轉換為 float64 浮點型;

x.astype(arr.dtype), 將陣列 x 轉換為 與arr相同 的資料型別;

在實際處理陣列資料的過程中,可能會對陣列中的部分資料產生興趣,需要將其單獨提取或修改,這就涉及到索引和切片的功能

在矩陣索引的功能中,實現的方式較為簡單:

a. 針對三維以下的陣列,arr[1][2] == arr[1,2],兩種方式等價,索引到第2行,第3列的矩陣位置

b. 針對三維及以上陣列,在陣列索引中,遵循arr[頁,行,列]三種順序依次索引,

例如:arr[1]第二頁陣列;arr[1,2]第二頁、第3行陣列;

(方法二:將資料按照正常格式書寫,

例如:[[[ 1, 2, 3],

[ 4, 5, 6]],

[[ 7, 8, 9],

[10, 11, 12]]],其中,第乙個數字代表去掉最外面一層方括號,選擇第 0 個子陣列,然後第二數字代表去掉第二層方括號,選擇 第 1 個子子陣列……)

c. 花式索引:也叫多個索引;arr[[0,2,3],[1,2,4]]== (arr[0][1], arr[2,2], arr[3,4]),其結果始終是一維;

……當對索引需要輸出多維矩陣時,引用格式為:arr[[1,3,5,7]][ :, [0,3,1,2]],表示 選取arr的第1,3,5,7行資料,每一列資料都包含,且列按照第 [1, 4, 2, 3] 的順序排列。

d. 布林型索引:即 true、false 索引;

在陣列中,可以利用arr[condition]進行選取和賦值操作,其中conditon的數值型別為布林型,這就是布林型索引的由來。

condition ==true時,就可以實現 選取、賦值的操作,舉例如下:

names=np.array([『bob』,『grey』,『lucy』])

data=[……] #三行,多列的陣列

data[names==『bob』, 2:]

## data=[……] 也可以是多行,三列的陣列,在對data進行篩選時,

data[1:,names==『bob』] 即 輸出:第 2~end 行,第 1 列。

輸出: 陣列中,第一行,第3列~最後一列的子陣列。

data[names!=『bob』, 2:]    #名字不叫bob所對應的資料
輸出: 陣列中,第2、3行,第3列~最後一列的子陣列。

賦值操作:

data[data<0]=0# 當data中的元素 < 0 時,將其設定為0(去掉資料中的負值)。

tips:

矩陣、陣列的運算過程中,必然涉及 矩陣的轉置:

arr.t即為低維陣列的轉置,在三維及以上陣列中,為行、頁轉置;

arr.transpose((1,0,2)),將行、列資料進行轉置,頁座標軸不變,在三維資料中,可以利用空間座標系來理解,

即在每乙個頁面內,將行、列陣列進行轉置,然後組合各頁陣列。(也可以視為 投影 到行、列座標軸上)

Python入門筆記(numpy庫的使用)

import numpy 讀取資料都為矩陣格式 numpy讀取檔案 test numpy.genfromtxt text2.txt delimiter dtype str,skip header 1 讀取並跳過第一行 print type test print test print help num...

python資料分析 numpy入門

import numpy as np import random 建立陣列 t1 np.array random.randint 2,9 for i in range 10 t2 np.arange 1,6 t3 np.array range 1,10,2 print t1 t1 print t2 ...

利用Python進行資料分析 Numpy 基礎

ndarray 多維陣列 ndarray 每個陣列元素必須是相同型別,每個陣列都有shape和dtype物件。shape 表示陣列大小 dtype 表示陣列資料型別 如何建立乙個陣列?in 1 import numpy as np in 2 data 1,2,3,4,5,6,7 in 3 arr n...