python資料分析學習筆記 numpy

2021-08-14 03:08:51 字數 2255 閱讀 5190

import numpy as np

data1=[6,7.5,8,0,1]

arr1=np.array(data1)

or arr2=np.array([1,2,3,4],[5,6,7,8])

一般np.array為陣列推斷出乙個較為合適的資料型別

除np.array外,還有一些其他函式可以新建資料,如:

函式 說明

array 將輸入資料(列表和陣列等其它序列轉換為ndarray)

asarray 將輸入轉換為ndarray,若輸入本身為ndarray不進行複製

arange 類似range,返回乙個ndarray

ones,ones_like 根據指定的形狀和dtype建立全1陣列。

zeros,zeros_like 類似ones,產生全0陣列

empty,empty_like 建立新陣列,只分配記憶體空間,不放值

eye,identity 建立乙個正方的nxn單位矩陣

可以在建立陣列的時候設定

arr1=np.array([1,2,3],dtype=np.float64)

通過astype轉換陣列dtype:

arr1=np.array([1,2,3,4,5])

float_arr=arr.astype(np.float64)

陣列與陣列的運算,為陣列中對應元素的運算,最後返回陣列。

arr=np.array([[1,2,3],[4,5,6]])

arr-arr

array([[0,0,0],[0,0,0]])

陣列和標量的運算,將標量值傳播到每個元素。

arr=np.arange(10)

[0,1,2,3,4,5,6,7,8,9]

arr[0]

0 arr[5]

5arr[5:8]

[5,6,7] %對值的位置索引。包括左邊位置,不包含右邊位置。

arr_slice=arr[5:8] %將arr中5,6,7位置上的值包括位置賦給arr_slice

arr_slicep[1]=12345. %將12345賦給arr_slice中位置1。

arr %arr陣列中位置6的值為12345

注:如果想得到ndarray切片的副本而非資料檢視,需arr[5:8].copy()

二維陣列切片(此處1行或2行等,都指位置)

arr[:2,1:] %shape為(2,2),意思為選取0與1行,1與2列。

arr[2] %選取2行,和所有列

arr[2,:]

arr[2:,:]

arr[1,:2]

arr[1:2,:2] %選取1行和0與1列

arr=np.arange(15).reshape((3,5))

arr.t

進行矩陣計算時,可能經常用到該操作,如用np.dot計算矩陣內積

arr=np.random.randn(6,3)

np.dot(arr.t,arr)

對於高維度陣列,需要乙個軸編號陣列才能對軸 進行轉置

arr=np.arange(16).reshape((2,2,4))

arr.transpose((1,0,2))

arr=np.arange(10)

np.sqrt(arr)

np.exp(arr)

np.maximum(x,y)

等等np.unique用於找出陣列中唯一值並返回已排序值

ints=np.array([3,3,3,2,2,1,1,4,4])

np.unique(ints)

array([1,2,3,4])

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

union1d(x,y)計算x和y並集,並返回有序結果。

x=np.array([[1.,2.,3.],[4.,5.,6.]])

y=np.array([[6.,23.],[-1.,7],[8,9]])

x.dot(y) %等於np.dot(x,y)

array([[28.,64.],[67.,181.]])

常用的numpy線性代數函式

diag以1維陣列返回方陣對角線元素。

dot 矩陣乘法

trace 計算對角線元素和

det計算矩陣行列式

inv計算**逆

qr qr分解

solve解線性方程組ax=b

lstsq計算ax=b的最小二乘解

Python資料分析學習筆記二

4 陣列的組合 numpy中的陣列組合有水平組合 垂直組合 深度組合和列組合等多種組合方式。使用hstack 函式可以完成陣列的水平拼接,例 import numpy as np a1 np.arange 9 reshape 3,3 print a1 a2 a1 2 print a2 b np.hs...

Python資料分析學習筆記四

之前已經接觸過的陣列屬性有 shape 維度 dtype 資料型別 除此之外,還有很多其他屬性 1 ndim屬性 輸出陣列的維度,或者說陣列軸的個數 2 size屬性 給出陣列下標的總個數 3 itemsize屬性 給出陣列中單個元素在記憶體中佔據的位元組數 4 nbytes屬性 給出陣列中所有元素...

python資料分析學習筆記一

pandas matplotlib ipython與jupyter scipy scikit learn statsmodels matplotlib inlineimport matplotlib as plt plt.plot np.random.randn 50 cumsum from dat...