1. 通过array创建一维数组
arry = np.array([1,2,3])
print(arry) # [1 2 3]
print(arry.dtype) # int32 数据类型
print(arry.itemsize) # 4 元素大小 一个元素占的字节
print(arry.shape) # (3,) 表示几行几列 本题中三行一列
print(arry.ndim) # 1 维度
print(arry.size) # 3 元素个数
2.通过arange 函数创建
第一个参数指起始值,第二个参数指结束值,包含起始值,不包含结束值,第三个参数表示步长
arry1 = np.arange(1,5,2)
print(arry1) # [1 3]
3.通过linespace 创建一维数组
第一个参数指起始值,第二个参数指结束值,第三个参数指产生的元素的个数
array = np.linspace(1,6,4)
print(array) # [ 1. 2.66666667 4.33333333 6. ]
4.通过logspace 创建一维数组
第一个参数指10几次方开始,第二个参数指10几次方结束,第三个参数指产生的元素个数
本题中从10^1 开始,到10^2结束,产生了5个数据
arry = np.logspace(1,2,5)
print(arry) # [ 10. 17.7827941 31.6227766 56.23413252 100. ]
5.通过zeros 函数创建数组
第一个参数指几行第二个参数指几列
array = np.zeros((2,3))
print(array) # 产生了两行三列的数组,元素值都为0
6.通过eye创建数组
参数指几行几列,产生的数组对角线为1
array = np.eye(3)
print(array)
7.通过diag 创建数组
参数是产生的数组的对角线
array = np.diag([1,2,3])
print(array)
8.通过ones创建数组
两个参数,第一个参数指几行,第二个参数指几列,产生的数组的元素都为1
array = np.ones((2,3))
print(array)
9.自定义数据类型
定义几个字段,设定其数据类型
dt = np.dtype([('name',np.str_,40),('age',np.int64),('gender',np.str_,40)])
# 使用自定义数据类型
array = np.array(('张三',23,'男'),dtype=dt)
print(array) # ('张三', 23, '男')
10. random.random(n)生成随机数
生成0-1.0的随机浮点数,包括0 不包括1.0 参数表示产生几个元素
array = np.random.random(3)
print(array) # [ 0.54496532 0.55284491 0.98462493]
11.random.rand()生成指定行和列的符合正态分布的随机小数[0,1) 不包括1
array = np.random.rand(2,3)
print(array)
# [[ 0.62617911 0.1249597 0.94166713]
[ 0.66463669 0.99038188 0.94102278]]
12.random.randn 生成符合正态分布的随机数
参数指生成2行3列的元素,
array = np.random.randn(2,3)
print(array)
13.获取数组中的指定元素,通过切片实现
格式为: array[:2:1,::2] 逗号前一个操作针对行,有三个参数,可以省略,省略默认0。
第一个参数表示起始值,第二个参数是结束值不包括,第三个参数是步长,表示间隔多少取一个值。:2:1 表示从0开始到2结束,但不包括2,间隔为1 取值,数组行数和列数从0开始。表示从第一行,也就是0行开始,到第二行结束,每间隔1个取值,就是第一行和第二行; ::2 表示列数从开始到结束每间隔2取一个值,表示第一行和第三行。
总体下来就是第一行和第二行的第一列和第三列。
array = np.array([[1,2,3],[2,3,4],[5,6,7]])
print(array)
# 获取第一行的所有数据
print(array[:1,:]) # 逗号之前表示对行的操作,逗号后表示对列的操作
# 获取第一行中的2,3
print(array[:1,1:]) # [[2 3]]
# 获取第一行和第二行的第一列和最后一列
print(array[:2:1,::2])
# [[1 3] [2 4]] 行的操作表示从第1行开始,到第3行结束,步长为1,也就是第一行和第二行
#列操作表示从第一列到最后一列,间隔为2取值,也就是第一列和第三列