ndarray: 一种n维数组对象
作用: 大数据容器
特点: 同构数据多维容器,即其中的所有元素必须是相同类型,每个数组都有一个shape和一个dtype
shape:一个表示各维度大小的元组
dtype:一个用于说明数组数据类型的对象
创建ndarray:
1.使用array函数(np.array())
1>数字
import numpy as np
data1 = [6,7.5,8,0,1]
arr1 = np.array(data1)
arr1
输出结果为:
array([ 6. , 7.5, 8. , 0. , 1. ]) 2>嵌套序列(多组长度相同的序列)
通过np.array()函数将会被转化为一个多维数组
data2 = [[1,2,3,4],[5,6,7,8]]
arr2 = np.array(data2)
arr2
输出结果为:
array([[1, 2, 3, 4],
[5, 6, 7, 8]]) arr2.shape
通过上面的查询语句得到结果:
可知生成的是一个2行4列的多维数组
2>zeros函数创建指定长度或者形状的全0数组
1.指定长度:长度为10
np.zeros(10)
输出结果为:
array([ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]) 2.指定形状:三行六列
np.zeros((3,6))
输出结果为:
array([[ 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0.]]) 注意:在指定形状类型中,zeros()函数括号中要写(3,6)不能写3,6否则会出现错误。
np.zeros(3,6)
输出错误:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-10-c306b541446d> in <module> ()
----> 1 np. zeros( 3 , 6 )
TypeError : data type not understood
3>ones函数创建指定长度或者形状的全1数组
1.指定长度:长度为5
np.ones(5)
输出结果为:
array([ 1., 1., 1., 1., 1.]) 2.指定形状:六行三列
np.ones((6,3))
输出结果为:
array([[ 1., 1., 1.],
[ 1., 1., 1.],
[ 1., 1., 1.],
[ 1., 1., 1.],
[ 1., 1., 1.],
[ 1., 1., 1.]]) 4>empty函数:创建新数组,只分配空间,不填充任何值
np.empty((2,3,2))
输出结果:
array([[[ 8.81415731e-312, 3.16202013e-322],
[ 0.00000000e+000, 0.00000000e+000],
[ 0.00000000e+000, 1.73356567e+185]],
[[ 3.72585388e-057, 2.44748545e-056],
[ 7.62339267e+169, 9.96233957e-047],
[ 2.42341969e-052, 1.93252241e+184]]]) np.empty()不会全部返回0,而是返回一些未初始化的垃圾值。
总结: