Python 004 Numpy基本語法

2021-10-05 01:22:11 字數 1965 閱讀 1393

numpy

numpy: numerical python

高階科學計算和資料分析的基礎包

常見功能1:

numpy 匯入

import numpy as np
大家約定俗成會使用別名np

ndarray

ndarray就是n維陣列,但其中元素都為同型別。計算時都是標量元素間的運算

建立ndarray

使用array方法,資料型別儲存在dtype物件中

arrange(),類似於range(),只不過返回ndarrary

ones(),ones_like() 可建立全1的陣列,前者引數放指定長度的元組,後者引數放另乙個陣列,one_like()形狀和指定陣列相同,只不過全1

zeros(), zeros_like() 可建立全0陣列,用法同上

eye(), identity() 可建立n × n單位矩陣

ndarray型別轉換

astype()

*將浮點數轉換成整數時,小數部分會被截斷

還可以使用如下:

arr.astype(arr2.dtype)

#拷貝了另個ndaray的型別

索引和切片

用法和列表類似

與列表不同點:

列表通過listname[ : ]可以返回列表副本

但naddary陣列切片是原始陣列的檢視,不會被複製,檢視上的任何修改都會直接反應到源陣列上。

如要進行副本操作,需要用arr.copy() 運算

ndarray 運算都是元素間的運算,不需要用for loop

普通陣列運算:

用加號只是把兩個陣列簡單的拼接在一起。

若要把陣列中對應位置的元素相加,則需要用到for loop(如圖所示),資料量一大就會又慢又卡

但如果使用ndarray就非常簡單了。簡單快速可讀性還高

再介紹乙個 np.where, 和if…else…效果差不多 但比較簡潔

如圖,有兩個陣列a,b, 還有個用來當條件的陣列cond,cond中型別為boolean。當cond中為true時,取a陣列,否則取b陣列。

np.where() 只需要一行**搞定

其中a,b不一定需要是陣列,標量也行,cond也可以是顯式的表示式,如 arr>0, arr == 1 ,etc…

唯一化np.unique() 可以對列表進行去重,可理解為sql中的distinct。返回的列表會經過排序

np.unique(arr) 等價於 sorted(set(arr))

集合運算

方法說明

intersect(x,y)

計算x和y中的公共元素(交集),並返回有序結果

union1d(x,y)

計算x和y的並集,並返回有序結果

in1d(x,y)

得到乙個表示 「x的元素是否在y中」 的boolean陣列

setdiff1d(x,y)

集合的差,在x中但不在y中的元素

利用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...

Python學習筆記004

0042020 7 7 python的比較操作符 左邊大於右邊 左邊大於等於右邊 左邊小於右邊 左邊小於等於右邊 左邊等於右邊 左邊不等於右邊 python條件分支語法 if條件 條件為真 true 執行的操作 else 條件為 false 執行的操作 python的while迴圈語法 while條...

python筆記 004 注釋

使用用自己熟悉的語言,在程式中對某些 進行標註說明,增強程式的可讀性 這是第乙個單行注釋 print hello python 為了保證 的可讀性,後面建議先新增乙個空格,然後再編寫相應的說明文字 print hello python 輸出 hello python 這是乙個多行注釋 在多行注釋之間...