Numpy之N维数组-ndarray
1 ndarray的属性
数组属性反映了数组本身固有的信息。
属性名字属性解释ndarray.shape数组维度的元组 【假如是8行5列的数组,将会返回(8,5)】ndarray.ndim数组维数 【假如是二维数组,将会返回2】ndarray.size数组中的元素数量 【如果是8行5列,将会返回40】ndarray.itemsize一个数组元素的长度(字节) 【如果元素是(整型)数字,将会返回8】ndarray.dtype数组元素的类型 【整型的话,返回:dtype('int64'),有的电脑可能是32】 2 ndarray的形状首先创建一些数组。
# 创建不同形状的数组
import numpy as np
a = np.array([[1,2,3],[4,5,6]])
b = np.array([1,2,3,4])
c = np.array([[[1,2,3],[4,5,6]],[[1,2,3],[4,5,6]]])
分别打印出形状:
如何理解数组的形状?
二维数组:
三维数组:
【类似于excel中有多个sheet】
3 ndarray的类型>>> type(score.dtype)
dtype是numpy.dtype类型,先看看对于数组来说都有哪些类型
名称描述简写np.bool用一个字节存储的布尔类型(True或False)'b'np.int8一个字节大小,-128 至 127'i'np.int16整数,-32768 至 32767'i2'np.int32整数,-2^31 至 2^32 -1'i4'np.int64整数,-2^63 至 2^63 - 1'i8'np.uint8无符号整数,0 至 255'u'np.uint16无符号整数,0 至 65535'u2'np.uint32无符号整数,0 至 2^32 - 1'u4'np.uint64无符号整数,0 至 2^64 - 1'u8'np.float16半精度浮点数:16位,正负号1位,指数5位,精度10位'f2'np.float32单精度浮点数:32位,正负号1位,指数8位,精度23位'f4'np.float64双精度浮点数:64位,正负号1位,指数11位,精度52位'f8'np.complex64复数,分别用两个32位浮点数表示实部和虚部'c8'np.complex128复数,分别用两个64位浮点数表示实部和虚部'c16'np.object_python对象'O'np.string_字符串'S'np.unicode_unicode类型'U'创建数组的时候指定类型
>>> a = np.array([[1, 2, 3],[4, 5, 6]], dtype=np.float32)
>>> a.dtype
dtype('float32')
>>> arr = np.array(['python', 'tensorflow', 'scikit-learn', 'numpy'], dtype = np.string_)
>>> arr
array([b'python', b'tensorflow', b'scikit-learn', b'numpy'], dtype='|S12')
- 注意:若不指定,整数默认int64,小数默认float64
数组的基本属性
属性名字属性解释ndarray.shape数组维度的元组ndarray.ndim数组维数ndarray.size数组中的元素数量ndarray.itemsize一个数组元素的长度(字节)ndarray.dtype数组元素的类型