NumPy 資料型別和轉換

Jinku Hu 2023年1月30日
  1. NumPy 的資料型別
  2. 資料型別轉換
NumPy 資料型別和轉換

NumPy 裡面的資料型別 dtype 跟 Python 內建的資料型別有一些不同的地方,它有精度更高的型別,這跟它用於資料計算的特性是相關的。

NumPy 的資料型別

型別 說明
bool 布林型
int8 8 位有符號整數
int16 16 位有符號整數
int32 32 位有符號整數
int64 64 位有符號整數
uint8 8 位無符號整數
uint16 16 位無符號整數
uint32 32 位無符號整數
uint64 64 位無符號整數
float16 16 位浮點數
float32 32 位浮點數
float64 64 位浮點數
complex64 64 位複數
complex128 128 位複數

在新建一個 ndarray 資料時,你可以通過字串或者 NumPy 庫裡面的資料型別常量來制定元素的資料型別

import numpy as np

# 通過字串來指定資料型別
test = np.array([4, 5, 6], dtype="int64")

# 通過 np 內的常量來指定
test = np.array([7, 8, 8], dtype=np.int64)

資料型別轉換

在例項建立好了之後,可以通過資料型別轉換方法 astype() 將元素的型別變成另外的一種,比如從整型變到浮點型,等等。

>>> import numpy as np
>>> test = np.array([11, 12, 13, 14], dtype="int32")
>>> x = test.astype('float32')
>>> x
array([11., 12., 13., 14.], dtype=float32)
>>> test, test.dtype
(array([11, 12, 13, 14]), dtype('int32'))
注意
資料型別轉換方法只會返回一個全新的陣列,而原陣列例項的資料和資訊並沒有改變。
作者: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

DelftStack.com 創辦人。Jinku 在機器人和汽車行業工作了8多年。他在自動測試、遠端測試及從耐久性測試中創建報告時磨練了自己的程式設計技能。他擁有電氣/ 電子工程背景,但他也擴展了自己的興趣到嵌入式電子、嵌入式程式設計以及前端和後端程式設計。

LinkedIn Facebook