对于ndarray结构来说,里面所有的元素必须是同一类型的 如果不是的话,会自动的向下进行转换。
1.把list传入array来构造array
import numpy as np
tang_list = [1,2,3,4,5]
tang_array = np.array(tang_list)
print(tang_array)
结果:
[1 2 3 4 5]
2、ndarray基本属性操作
import numpy as np
tang_list = [1,2,3,4,5]
tang_array = np.array(tang_list)
print(type(tang_array)) # 类型
print(tang_array.dtype) # 元素类型
print(tang_array.itemsize) # 元素字节大小
print(tang_array.shape) # 形状
print(tang_array.size) # 元素个数
print(tang_array.ndim) # 维度
print(tang_array.fill(0)) # 填充
结果:
<class 'numpy.ndarray'>
int32
4
(5,)
5
1
None
import numpy as np
tang_list = [1,2,3,4,5]
tang_array = np.array(tang_list)
print(tang_array[0]) # 索引,从0开始
print(tang_array[1:3]) #切片
print(tang_array[-2:]) #反向切片
3、多维矩阵操作
import numpy as np
tang_array = np.array([[1,2,3],
[4,5,6],
[7,8,9]])
print(tang_array)
print(type(tang_array)) # 类型
print(tang_array.dtype) # 元素类型
print(tang_array.itemsize) # 元素字节大小
print(tang_array.shape) # 形状
print(tang_array.size) # 元素个数
print(tang_array.ndim) # 维度
print(tang_array[1,1]) # 索引第二行第二列
print(tang_array[1]) # 索引第二行
tang_array2 = tang_array.copy() # 矩阵拷贝
print(tang_array2)
tang_array = np.arange(0,100,10) # 生成10个数,步长为10
print(tang_array)
mask = np.array([0,0,0,1,1,1,0,0,1,1],dtype=bool) # 生成数组,类型为bool
print(mask)
random_array = np.random.rand(10) # 生成0到1之间的10个随机数
print(random_array)
print(np.where(tang_array > 30)) # 大于30的索引
4、数组类型
tang_array = np.array([1,2,3,4,5],dtype=np.float32) # 构造float32类型的数组
print(tang_array)
print(tang_array.nbytes) # 总共多少字节
tang_array = np.array([1,10,3.5,'str'],dtype = np.object) # 数组里可有任意类型
print(tang_array)