本文numpy 的属性和创建 array
Numpy
numpy 的三属性:
- ndim:维度
- shape:行数和列数
- size:元素个数
使用numpy前,要先导入模块
import numpy as np
列表转化为矩阵:
array = np.array([[1,2,3],[2,3,4]]) #列表转化为矩阵
print(array)
"""
array([[1, 2, 3],
[2, 3, 4]])
"""
numpy 的几种属性
我们看看这几种属性的结果:
print('number of dim:',array.ndim) # 维度
# number of dim: 2
print('shape :',array.shape) # 行数和列数
# shape : (2, 3)
print('size:',array.size) # 元素个数
# size: 6
Numpy 的创建 array
创建 array 有很多 形式
关键字:
array:创建数组
dtype:指定数据类型
zeros:创建数据全为0
ones:创建数据全为1
empty:创建数据接近0
arrange:按指定范围创建数据
linspace:创建线段
array创建数组
在array函数里面加入列表
列表是由一系列按特定顺序排列的元素组成
a = np.array([2,23,4]) # list 1d
print(a)
# [2 23 4]
指定数据 dtype
int
a = np.array([2,23,4],dtype=np.int)
print(a.dtype)
# int 64
int32
a = np.array([2,23,4],dtype=np.int32)
print(a.dtype)
# int32
float
a = np.array([2,23,4],dtype=np.float)
print(a.dtype)
# float64
float32
a = np.array([2,23,4],dtype=np.float32)
print(a.dtype)
# float32
创建制定数据
array()内的列表可以随意组合
a = np.array([[2,23,4],[2,32,4]]) # 2d 矩阵 2行3列
print(a)
"""
[[ 2 23 4]
[ 2 32 4]]
"""
创建全零数组
需要提供维度
a = np.zeros((3,4)) # 数据全为0,3行4列
"""
array([[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.]])
"""
创建全一数组, 同时也能指定这些特定数据的 dtype
a = np.ones((3,4),dtype = np.int) # 数据为1,3行4列
"""
array([[1, 1, 1, 1],
[1, 1, 1, 1],
[1, 1, 1, 1]])
"""
创建全空数组, 每个值都是接近于零的数:
a = np.empty((3,4)) # 数据为empty,3行4列
"""
array([[ 0.00000000e+000, 4.94065646e-324, 9.88131292e-324,
1.48219694e-323],
[ 1.97626258e-323, 2.47032823e-323, 2.96439388e-323,
3.45845952e-323],
[ 3.95252517e-323, 4.44659081e-323, 4.94065646e-323,
5.43472210e-323]])
"""
arange 创建连续数组:
可以设置步长
a = np.arange(10,20,2) # 10-19 的数据,2步长
"""
array([10, 12, 14, 16, 18])
"""
reshape 改变数据的形状
a = np.arange(12).reshape((3,4)) # 3行4列,0到11
"""
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
"""
linspace 创建线段型数据:
np.linspace(0,10,5) # 开始端0,结束端10,且分割成5个数据,生成线段
Out[23]: array([ 0. , 2.5, 5. , 7.5, 10. ])
reshape 工作:
注意,shape要等于 array 的size
np.linspace(0,10,6).reshape((2,3))
Out[25]:
array([[ 0., 2., 4.],
[ 6., 8., 10.]])
参考莫烦Python,简单易懂!
打call https://morvanzhou.github.io/tutorials/data-manipulation/np-pd/2-2-np-array/