numpy數組的建立和屬性轉換

1、數據與numpy數組的建立python

一、 python數組的建立數組

python中的固定類型數組:緩存

python中提供了幾種將數組存儲在有效的、固定類型的數據緩存中的選項。內置的數組(array)模塊能夠建立按統一類型的密集數組:dom

這裏的「i」表示的是一個數據類型碼,表示數據爲整型。函數

更實用的是ndarray數組對象,Python的數組對象提供了數組類型的有效存儲,而Numpy爲該數據加上了高效的操做。稍後將會介紹這些操做,這裏先集中展現建立Numpy數組的方法:佈局

二、 Numpy數組的建立ui

從python列表建立數組:spa

  • 建立整數型

  • 指定類型建立數組

  • 根據內容,自動建立對應數據類型

建立np數組時須要強調元素類型的一致。若是類型不一樣則會自動向上轉換。orm

2.1dtype參數進行強制類型轉換或類型指定對象

2.2生成嵌套數組

手動建立嵌套數組

使用公式嵌套數組

三、11中建立ndarray數組的高效建立方法

面對大型數組,用Numpy數組時,用Numpy內置方法從頭建立數組時一種高效的方法,如下是幾個示例:

3.1 建立一個元素都爲0 的n * m 的多(2)維數組

np.zeros((維度,行數,列數),dtype = "指定類型(float32/int32/str)")

  • 建立一個10列元素類型爲浮點型的數組,在僅指定一個參數時,建立的表示一行,指定列數,默認爲浮點型。

  • 建立一個3行4列元素類型爲整數型的數組, 僅指定兩個參數時,表示的是行數和列數。

  • 建立一個2維3行4列元素類型爲整數型的數組, 指定三個參數時,表示的是維度,行數和列數。

3.2 建立一個元素都爲1的n*m的多(3)維數組

np.ones((維度,行數,列數),dtype = "指定類型(float32/int32/str)")

  • 傳維度參數的時候,放在一個容器中,能夠是元組,也能夠是列表

3.3建立一個的整數型數組,數組的值是一個線性序列。

np.arange(start[真包含], end[假包含], step)

  • 建立一個從0開始30結束,步長爲3的數組

  • 建立一個從1開始30結束的數組

  • 建立一個長度到10結束的數組

3.4建立一個50個元素的數組,這50個數均勻地分配到1~10

np.linspace(start, stop, 平均分紅的分數)

3.5 建立一個在0-1之間隨機分佈的由隨機數組成的數組

np.random.random((維度,行數, 列數))

  • 建立一個3列的隨機數數組

  • 建立一個3行3列的隨機數數組

  • 建立一個3維3行3列的數組

其餘生成隨機數的方法

  • 建立一個服從標準正態分佈的數組

np.random.randn(維度,行數,列數)

  • 建立均勻分佈[0,1)上的數組

np.random.rand(維度,行數,列數)

3.6 建立一個正態分佈的隨機數數組

np.random.normal(均值, 方差, (維度,行數, 列數))

  • 建立一個均值爲0,方差爲1,3維3行3列的隨機數數組

3.7建立一個服從設置區間的隨機數整數型的數組

np.random.randint(start, stop, (維度,行數, 列數))

  • 建立從0開始10結束,3維3行3列的整數型數組

3.8 建立一個對角線元素都爲1,其餘位置元素都爲0的單位矩陣

np.eye(行數,列數,dype=’元素類型(默認爲浮點型)’)

  • 建立一個4列的單位矩陣,若是僅指定一個參數,默認爲列數,行數會默認爲是列數。

  • 建立一個4行3列的單位矩陣

3.9建立一個由m*n維未初始化的數組,數組的值是內存空間中的任意值

np.empty(n)

3.10 建立一個指定元素的對角矩陣

Np.diag(n)

  • 建立對角元素爲1,2,3,4的對角矩陣

3.11建立一個指定行列,和指定內容的數組

Np.full((維度,行數,列數),指定值(能夠是一個數組,也能夠是一個列表或嵌套列表))

  • 建立一個3維3行5列,值所有爲3.14的數組

2、數組的基本操做

一、查看Nddaray屬性

數組的屬性:

  • 數組的維度:ndim
  • 數組每一個維度的大小:shape
  • 數組的總大小(元素的總個數):size
  • 數組類型:dtype
  • 數組元素字節大小:itemsize;nbytes

如今咱們定義三個數組, 一維數組, 二維數組, 三維數組,爲了確保你們都能生成同樣的數組, 咱們先設置隨機數種子。

Np.random.seed可使生成隨機數時能夠生成同樣的隨機數

1.1查看數組的形狀

1.2查看數組的維度

1.3 查看數組的總大小

1.4查看數組的數據類型

image

1.5查看數組中每一個元素的大小(所佔用內存的大小)

image

1.6查看數組的總大小(佔用內存的大小)

image

1.7對數組進行轉置

image

1.8其餘查看屬性的方法

Ndarray.flags

有關數組的內存佈局的信息。

Ndarray.shape

數組維數組。

Ndarray.ndim

數組維數,在Python世界中,維度的數量被稱爲rank。

Ndarray.data

Python緩衝區對象指向數組的數據的開始。

Ndarray.size

數組中的元素總個數。

Ndarray.itemsize

一個數組元素的長度(以字節爲單位)。

Ndarray.dtype

數組元素的數據類型。

Ndarray.T

數組的轉置。

2.Numpy數據類型以及類型轉換

Numpy中的數組比 Python 原生中的數組(只支持整數類型與浮點類型)強大的一點就是它支持更多的數據類型。

2.1 numpy基本數據類型

Numpy常見的基本數據類型以下:

數據類型

描述

bool_

布爾(True或False),存儲爲一個字節

int_

默認整數類型(與C long相同;一般爲int64或int32)

intc

與C int(一般爲int32或int64)相同

intp

用於索引的整數(與C ssize_t相同;一般爲int32或int64)

int8

字節(-128到127)

int16

整數(-32768到32767)

int32

整數(-2147483648至2147483647)

int64

整數(-9223372036854775808至9223372036854775807)

uint8

無符號整數(0到255)

uint16

無符號整數(0到65535)

uint32

無符號整數(0至4294967295)

uint64

無符號整數(0至18446744073709551615)

float_

float64的簡寫。

float16

半精度浮點:符號位,5位指數,10位尾數

float32

單精度浮點:符號位,8位指數,23位尾數

float64

雙精度浮點:符號位,11位指數,52位尾數

complex_

complex128的簡寫。

complex64

複數,由兩個32位浮點(實數和虛數份量)

complex128

複數,由兩個64位浮點(實數和虛數份量)

雖然有這麼多的數據類型,可是咱們平時用的時候僅須要知道(int,bool,float,complex,str)這幾種就能夠了,暫時不須要去記這麼多。

這些類型均可以在建立ndarray的時候經過dtype來制定

image

2.2數據類型的轉換

數組直接數據類型的轉換首選是.astype()方法,或者使用類型自己做爲函數。

image

相關文章
相關標籤/搜索