TASK01 numpy基礎(資料型別及陣列建立)

2021-10-25 01:16:18 字數 2713 閱讀 4003

1、常量

import numpy as np

print(np.nan == np.nan) # false

print(np.nan != np.nan)

兩個numpy.nan是不相等的

ar=np.array([1,2,3,np.nan])

print(ar)

print(np.isnan(ar))

[ 1.  2.  3. nan]

[false false false true]

2、資料型別

常見資料型別

python 原生的資料型別相對較少, bool、int、float、str等。這在不需要關心資料在計算機中表示的所有方式的應用中是方便的。然而,對於科學計算,通常需要更多的控制。為了加以區分 numpy 在這些型別名稱末尾都加了「_」。

下表列舉了常用 numpy 基本型別。

型別 備註 說明

bool_ = bool8 8位 布林型別

int8 = byte 8位 整型

int16 = short 16位 整型

int32 = intc 32位 整型

int_ = int64 = long = int0 = intp 64位 整型

uint8 = ubyte 8位 無符號整型

uint16 = ushort 16位 無符號整型

uint32 = uintc 32位 無符號整型

uint64 = uintp = uint0 = uint 64位 無符號整型

float16 = half 16位 浮點型

float32 = single 32位 浮點型

float_ = float64 = double 64位 浮點型

str = unicode = str0 = unicode unicode 字串

datetime64 日期時間型別

timedelta64 表示兩個時間之間的間隔

a=np.dtype('b1')

b=np.dtype('i2')

print(a.type,a.itemsize,b.type,b.itemsize)

1 2
資料型別資訊

python 的浮點數通常是64位浮點數,幾乎等同於 np.float64。

numpy和python整數型別的行為在整數溢位方面存在顯著差異,與 numpy 不同,python 的int 是靈活的。這意味著python整數可以擴充套件以容納任何整數並且不會溢位。

machine limits for integer types.

i16 = np.iinfo(np.int16)

print(ii16.min) # -32768

print(ii16.max) # 32767

ii32 = np.iinfo(np.int32)

print(ii32.min) # -2147483648

print(ii32.max)

-32768

32767

-2147483648

2147483647

3、時間日期和時間增量

datetime64 基礎

在 numpy 中,我們很方便的將字串轉換成時間日期型別 datetime64(datetime 已被 python 包含的日期時間庫所占用)。

datatime64是帶單位的日期時間型別,其單位如下:

日期單位 **含義 時間單位 **含義

y 年 h 小時

m 月 m 分鐘

w 周 s 秒

d 天 ms 毫秒

1秒 = 1000 毫秒(milliseconds)

1毫秒 = 1000 微秒(microseconds)

a = np.datetime64('2020-03-01')

print(a, a.dtype) # 2020-03-01 datetime64[d]

b= np.datetime64('2020-03')

print(b, b.dtype)

2020-03-01 datetime64[d]

2020-03 datetime64[m]

a = np.arange('2020-08-01', '2020-08-10', dtype=np.datetime64)

print(a)

['2020-08-01' '2020-08-02' '2020-08-03' '2020-08-04' '2020-08-05'

'2020-08-06' '2020-08-07' '2020-08-08' '2020-08-09']

datetime64 和 timedelta64 運算

dt = datetime.datetime(year=2020, month=6, day=1, hour=20, minute=5, second=30)

dt64 = np.datetime64(dt, 's')

print(dt64, dt64.dtype)

2020-06-01t20:05:30 datetime64[s]

資料分析 numpy 01

import numpy as np arr1 np.array 1 2,3 陣列的秩 軸的個數稱為秩 軸 axes 是陣列的維度 print arr1.ndim 結果為 1 結論 一維陣列秩為1,二維陣列秩為2 陣列的維度 print arr1.shape,len arr1.shape 3,2 返...

資料分析 numpy陣列 01

預備知識 能夠乙個接乙個地儲存在計算機儲存器的一塊連續區域內的表示方法稱為陣列array。資料分析 numpy numpy是python語言的乙個拓展程式庫,支援大量的維度陣列與矩陣運算,而且numpy針對於陣列運算提供大量的數學函式庫。numpy 是乙個執行速度非常快的數學庫,主要用於陣列計算 1...

Numpy 基礎資料結構

numpy是python中乙個執行速度非常快的的數學庫,主要用於陣列計算,包含 接下來,我會系列介紹numpy的知識點,包含其基礎資料結構,通用函式,索引及切片,隨機數生成,資料的讀取與輸出。本篇先從numpy的基礎資料結構開始。事實上,pyhton中乙個更常用且強大的工具包pandas就是在num...