ndarray数组的创建方法
本文参考自中国慕课网中北京理工大学教授讲授的《Python数据分析与展示》。
1、从Python中的列表、元祖等类型创建ndarray数组
“x=np.array(list/tuple,dtype=? )”
当np.array()不指定dtype时,numpy将根据数据情况关联一个dtype类型。
import numpy as np
x=np.array([0,1,2,3])
print(x)
x=np.array([(0,1),[2,3],(0.3,0.4)])
print(x)
输出结果如下:
[0 1 2 3]
[[0. 1. ]
[2. 3. ]
[0.3 0.4]]
2、使用numpy中函数创建ndarray数组
- np.arange(n):类似range函数,返回ndarray类型,元素从0到n-1
- np.ones(shape):根据shape生成一个全1数组,shape是数组类型
- np.zeros(shape):根据shape生成一个全0 数组
- np.full(shape,val):根据shape生成一个数组,每个元素值都是val
- np.eye(n):创建一个正方的n*n单位矩阵,对角线为1,其余为0
- np.ones_like(a):根据数组a的形状生成一个全1数组
- np.zeros_like(a):根据数组a的形状生成一个全0数组
- np.full_like(a,val):根据数组a的形状生产一个数组,元素值都是val
import numpy as np
print(np.arange(4)) #数据类型默认为整形
print(np.ones((2,3,4))) #默认为浮点型
print(np.zeros((3,6),dtype=np.int32)) #默认为浮点型
print(np.eye(5)) #默认为浮点型
输出结果分别为:
[0 1 2 3]
[[[1. 1. 1. 1.]
[1. 1. 1. 1.]
[1. 1. 1. 1.]]
[[1. 1. 1. 1.]
[1. 1. 1. 1.]
[1. 1. 1. 1.]]]
[[0 0 0 0 0 0]
[0 0 0 0 0 0]
[0 0 0 0 0 0]]
[[1. 0. 0. 0. 0.]
[0. 1. 0. 0. 0.]
[0. 0. 1. 0. 0.]
[0. 0. 0. 1. 0.]
[0. 0. 0. 0. 1.]]
3、使用numpy中其他函数创建ndarray数组
- np.linspace():根据起止数据等间距地填充数据,形成数组
- np.concatenate():将两个或多个数组合并成一个新的数组
import numpy as np
a=np.linspace(1,10,4)
print(a)
b=np.linspace(1,10,4,endpoint=False)#endpoint=false指在最后一个数据不显示的条件下,划分间距
print(b)
c=np.concatenate((a,b))
print(c)
输出结果如下:
[ 1. 4. 7. 10.]
[1. 3.25 5.5 7.75]
[ 1. 4. 7. 10. 1. 3.25 5.5 7.75]