# coding=utf-8import numpy as np
"""
利用array创建数组的简单介绍
"""print("使用array函数创建一维数组")
a = np.array([1,2,3,4,5,6])print(a)print(type(a))print("使用array函数创建二维数组")
b = np.array([[1,2],[2,3],[4,5]])print(b)print(type(b))print("使用array函数创建三维数组")
c = np.array([[[1,2,3],[4,5,6],[7,8,9]]])print(c)print(type(c))"""
array函数的常用方法
"""print(" array函数的dtype的使用:设置创建数组里面元素的类型")
d = np.array([1,2,3], dtype=float)print(d)print(type(d))print("array函数的ndim的使用:设置数组的维度")
e = np.array([1,2,3], dtype=float, ndmin=3)print(e)
使用arange创建数组
# coding = utf-8import numpy as np
# range的使用 range(start,end,step) 默认为[start,end) step默认为1 start默认从0开始print("从1开始,到5结束(不包含5),默认步长为1")
list1 =list(range(1,5))print(list1)print("默认从0开始,到5结束(不包含5),步长默认为1")
list2 =list(range(5))print(list2)print("从2开始,到10结束(不包含10),步长为2")
list3 =list(range(2,10,2))print(list3)# 与range类似,用arange创建数组print("从1开始,3结尾")
a = np.arange(1,3)print(a)print("从1开始,3结尾,步长为0.1")
b = np.arange(1,3,0.1)print(b)print(" dtype的使用")
c = np.arange(6,9, dtype=float)print(c)
Numpy中的随机数创建
# coding=utf-8import numpy as np
# 随机小数defrandomTest():print("使用random创建一维数组,size规定了一维数组的元素个数 范围[0.0,1.0)")
a = np.random.random(size=6)print(a)print("创建一个二维数组 三行5列")
b = np.random.random(size=(3,5))print(b)print("创建三维数组 两个三行四列")
c = np.random.random(size=(2,3,4))print(c)
randomTest()# 随机整数defrandintTest():# 语法:randint(low, high=None, size=None, dtype=None) 这边也是左闭右开print("生成0-10之间的随机整数,一维")
a = np.random.randint(11, size=20)print(a)print("生成1到5之间的随机整数,二维 (三行四列)")
b = np.random.randint(1,6, size=(3,4))print(b)print("生成1到10之间的随机整数,三维 (两个三行四列)")
c = np.random.randint(1,6, size=(2,3,4))print(c)# dtype的使用
d = np.random.randint(5, size=2, dtype=np.int64)print('设定的dtype为', d.dtype)
randintTest()# 生成正态分布数组defrandnTest():# randn函数返回一个或一组样本,具有标准正态分布(期望为0,方差为1)# randn(d0, d1, ..., dn) dn表示维度,返回值为指定维度的arrayprint("eg:创建一个一维的有三个元素的数组")
a = np.random.randn(3)print(a)print("创建一个二维的(三行四列)")
b = np.random.randn(3,4)print(b)print("创建一个三维的(两个三行四列)")
c = np.random.randn(2,3,4)print(c)
randnTest()# 创建指定期望和方差的正态分布defnormalTest():print(" normal(loc=0.0, scale=1.0, size=None),默认的期望是loc=0.0 方差scale=1.0")
a = np.random.normal(size=3)print(a)print("指定期望和方差")
b = np.random.normal(loc=2, scale=2, size=(3,4))print(b)
normalTest()
ndarray对象的常用属性
# coding=utf-8import numpy as np
# 创建一维的数组
a = np.arange(2,5)print(a)
a1 = np.array([1,2,3])print(a1)# 创建二位的数组
b = np.random.randint(1,5, size=(2,3))print(b)print("创建三维数组(正态分布)")
c = np.random.randn(1,2,2)print(c)# 常用属性print(" ndim属性")print("ndim:", a.ndim, b.ndim, c.ndim)print("shape属性")print("shape:", a.shape, b.shape, c.shape)print("dtype属性:当前元素的类型")print("dtype:", a.dtype, b.dtype, c.dtype)print("size属性:当前元素的总个数")print("size:", a.size, b.size, c.size)print("itemsize属性:每个元素所占的字节")print("itemsize:", a.itemsize, b.itemsize, c.itemsize)
其他方式创建数组
# coding=utf-8import numpy as np
print(" numpy.zeros:里面的元素用0来填充")defzerosTest():
a = np.zeros(2)print(a)print("指定类型 dtype")
b = np.zeros((3), dtype=int)print(b)print(" 创建二维数组(两行三列)")
c = np.zeros((2,3))print(c)
zerosTest()print(" numpy.ones:里面的元素用1来填充")defonesTest():
a = np.ones(5)print(a)print("指定类型 dtype")
b = np.ones((3), dtype=int)print(b)print("创建二维数组(两行三列),指定类型")
c = np.ones((2,3), dtype=int)print(c)
onesTest()print(" empty:根据给定的维度和数值类型返回一个新的数组,其元素不进行初始化。")defemptyTest():
a = np.empty(6)print(a)
b = np.empty((2,3))print(b)
emptyTest()# linspace(等差)# linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None,# axis=0)# 在指定的间隔范围内返回均匀间隔的数字。## 在[start, stop]范围内计算,返回num个(默认为50)均匀间隔的样本。## endpoint可以选择性地排除间隔的终点。deflinspaceTest():
a = np.linspace(1,5,5)print(a)
b = np.linspace(1,20,8, endpoint=False)print(b)
linspaceTest()# logspace(等比),与上面linspace类似deflogspaceTest():print("eg:2的0到9次方")
a = np.logspace(0,9,10, base=2)print(a)
logspaceTest()