1、
NumPy_AIHub社区NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。本https://www.kuxai.com/f/numpy?n=1
科学计算库Numpy_mathor的博客-CSDN博客_科学计算库numpygenfromtxt函数import numpytmp = numpy.genfromtxt("1.txt",delimiter=",",dtype=str)print (type(tmp))print (tmp)print (help(numpy.genfromtxt))genfromtxt函数里穿了三个参数,分别是 要打开的文档名称,分隔符,以什么类型存储打印结果:第一行...https://blog.csdn.net/qq_37236745/article/details/83691059
2、
Python科学计算库-Numpy - 知晓的老巢 - 博客园NumPy 是 Python 语言的一个扩充程序库。支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库,也是学习 python 必学的一个库。 1. 读取文件 numpy.genhttps://www.cnblogs.com/hgc-bky/p/9910495.html
3、
科学计算库NumPy_我的count的博客-CSDN博客科学计算库NumPy科学计算库NumPy01 认识NumPy数组对象ndarray对象中定义了一些重要的属性02 创建NumPy数组创建NumPy数组03 ndarray对象的数据类型查看数据类型转换数据类型04 数组运算数组运算05 ndarray的索引和切片06 数组的转置和轴对称数组的转置和轴对称07 NumPy通用函数NumPy通用函数08 利用NumPy数组进行数据处理将条件逻辑转为数组运算09 线性代数模块线性代数模块10 随机数模块随机数https://blog.csdn.net/weixin_45753498/article/details/107656207
4、
NumPy科学计算库 - 简书https://www.jianshu.com/p/dd3ce8ecf05e
5、
Python最好用的科学计算库:NumPy快速入门教程(一) - 知乎
6、
numpy_百度百科
7、
NumPy 教程 | 菜鸟教程https://www.runoob.com/numpy/numpy-tutorial.html
7.1、
什么是NumPy?_w3cschoolhttps://www.w3cschool.cn/numpy_ln/numpy_ln-pxyi3ki3.html
8、
Python之Numpy基础 - 知乎https://zhuanlan.zhihu.com/p/32242331
9、
Python之Numpy详细教程_a373595475的博客-CSDN博客_numpyhttps://blog.csdn.net/a373595475/article/details/79580734
10、
NumPy基础用法总结_zandaoguang的博客-CSDN博客https://blog.csdn.net/zandaoguang/article/details/106953505
11、
NumPy使用图解教程 - 汤姆啾 - 博客园https://www.cnblogs.com/jeshy/p/11165919.html12、
numpy的使用方法 - 小青年て - 博客园https://www.cnblogs.com/xiongying4/p/11970712.html13、
NumPy用法总结+学习路线_安藤青司的博客-CSDN博客https://blog.csdn.net/qq_36910634/article/details/90901156?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~aggregatepage~first_rank_ecpm_v1~rank_aggregation-12-90901156.pc_agg_rank_aggregation&utm_term=numpy%E7%94%A8%E6%B3%95%E5%A4%A7%E5%85%A8&spm=1000.2123.3001.4430
14、
Numpy的简单用法【附源码】_Python热爱者_51CTO博客https://blog.51cto.com/u_14246112/2431196
15、
Python杂谈 | (6) numpy中array()和asarray()的区别_sdu_hao的博客-CSDN博客https://blog.csdn.net/sdu_hao/article/details/88530118
16、
https://www.jb51.net/article/141444.htmhttps://www.jb51.net/article/141444.htm
17、
Python numpy insert()、 delete()、append()函数的用法_Ann的博客-CSDN博客https://blog.csdn.net/u011851421/article/details/83786111
18、NumPy库的使用 - 知乎https://zhuanlan.zhihu.com/p/375081328
================================================ 下面是自己练习做的例子:
import numpy as np
# numpy生产一位数组的方式
# 第一种方式
a = [1, 2, 3, 4]
anp = np.array(a)
print(anp)
# 第二种方式
ana = np.arange(4)
print(ana)
# 总结:数组和列表的区别是,数组里面没有,点。
# 列表里面有,做分割。
# numpy生产二位数组的方式
# 第一种二维数组的生产方式
b = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
bnp = np.array(b, dtype=object)
print(bnp)
# 第二种二维数组的生产方式
stp = np.arange(6).reshape(2, 3)
print(stp)
# 总结:先用list转换成二维数组。
# 也可以用arange()迭代生产的一位数组,调用reshape方法
# 生产想要的二维数组(指定行,列)。
# ***********************************************
# 一位数组的迭代输出:
for i in np.nditer(anp):
print("i+aaa=", i, end=', ')
print()
# 二维数组的迭代输出:(是按行迭代输出,还是列迭代输出)
# 二维数组按行迭代输出:
for ia in np.nditer(stp, order="C"):
print("i+bbb=", ia, end=", ")
print()
# 二维数组按列迭代输出:
for ia in np.nditer(stp, order="F"):
print("i+bbb=", ia, end=", ")
# =======================(其他例子)
# a1 = np.arange(0, 60, 5)
# aa = a1.reshape(3, 4)
# print(aa)
#
# for i in np.nditer(aa, order='c'):
# print(i, end=', ')
import numpy as np
# 查询:一维数组,二维数组的查询
# numpy生产一位数组的方式
# 第一种方式
a = [1, 2, 3, 4]
anp = np.array(a)
print(anp)
# 第二种方式
ana = np.arange(4)
print(ana)
# 总结:数组和列表的区别是,数组里面没有,点。
# 列表里面有,做分割。
# numpy生产二位数组的方式
# 第一种二维数组的生产方式
b = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
bnp = np.array(b, dtype=object)
print(bnp)
# 第二种二维数组的生产方式
stp = np.arange(24).reshape(4, 6)
print(stp)
# 总结:先用list转换成二维数组。
# 也可以用arange()迭代生产的一位数组,调用reshape方法
# 生产想要的二维数组(指定行,列)。
# ***********************************************
# 一维数组的查询
# 从下标1开始截取
aa1 = anp[1:]
print(aa1)
# 输出全部
aa2 = anp[:]
print(aa2)
# 从下标1开始截取,到下标3结束
aa3 = anp[1:3]
print(aa3)
# 从默认下标(0)开始截取,到下标3结束
aa4 = anp[:3]
print(aa4)
# 判断默认下标是不是从0开始
print(anp[0:3] == anp[:3])
# ====================== 二维数组的查询
print("====================== 二维数组的查询")
print(stp)
print("====================== 二维数组的查询,全部输出")
print(stp[:])
print("====================== 二维数组的查询,从下标1开始输出")
print(stp[1:])
print("====================== 二维数组的查询,从下标1开始输出,到下标3截止")
print(stp[1:3])
# 上面的二维数组输出,计算机抽象后,都当一维数组来处理了。
print("====================== 把二维数组抽象成二组数组查询")
print(stp[:][:] == stp) # 布尔值是True
print(stp)
print("==== 先抽象成一维数组取值,再把查询的结果当一维数组查询")
print(stp[1:][2:])
print("==== 先取第一个中括号的值,在第一个括号查询的基础上,再查询第二个括号里面的值")
print(stp[1:4][1:])
print("====,逗号前面控制行,逗号后面控制列")
print(stp[1:4, 3:])
print("====我先取出,stp数组中15")
print(stp[2:3, 3:4])
import numpy as np
# 修改:一维数组,二维数组的数的修改(也可以理解成赋值)
# numpy生产一位数组的方式
# 第一种方式
a = [1, 2, 3, 4]
anp = np.array(a)
print(anp)
# 第二种方式
ana = np.arange(4)
print(ana)
# 总结:数组和列表的区别是,数组里面没有,点。
# 列表里面有,做分割。
# numpy生产二位数组的方式
# 第一种二维数组的生产方式
b = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
bnp = np.array(b, dtype=object)
print(bnp)
# 第二种二维数组的生产方式
stp = np.arange(24).reshape(4, 6)
print(stp)
# 总结:先用list转换成二维数组。
# 也可以用arange()迭代生产的一位数组,调用reshape方法
# 生产想要的二维数组(指定行,列)。
# ***********************************************
print("====输出一维数组")
print(ana)
print("====给一维数组下标为1的数赋值")
ana[1] = 100
print(ana)
print("====给一维数组下标为1:3的数赋值")
ana[1:3] = 111
print(ana)
print("====输出二维数组")
print(stp)
print("====给stp数组中15赋值;能取出来,就能赋值")
print("stp[2:3, 3:4]=", stp[2:3, 3:4])
print(stp[2][3])
stp[2][3] = 77777
# 下面这种方式也可以给二维数组某个数字赋值
# stp[2:3, 3:4] = 666
print(stp)
print("====给stp数组中小于10的,赋值88")
stp[stp < 10] = 88
print(stp)
print("====给stp数组的最后一行,赋值999")
stp[-1] = 999
print(stp)
print("====给stp数组第三行,每个数加1")
for i in np.arange(len(stp[2])):
ais = int(i)
# print(stp[2][ais])
stp[2][ais] = stp[2][ais]+1
print(stp)
# 方法总结说明:
print("取数组大小的方法一:", stp[2].size)
print("取数组大小的方法二:", len(stp[2]))
4、
import numpy as np
# 删除或改变数组的维度:一维数组,二维数组的部分删除(或改变数组的维度)
# numpy生产一位数组的方式
# 第一种方式
a = [1, 2, 3, 4]
anp = np.array(a)
print(anp)
# 第二种方式
ana = np.arange(4)
print(ana)
# 总结:数组和列表的区别是,数组里面没有,点。
# 列表里面有,做分割。
# numpy生产二位数组的方式
# 第一种二维数组的生产方式
b = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
bnp = np.array(b, dtype=object)
print(bnp)
# 第二种二维数组的生产方式
stp = np.arange(24).reshape(4, 6)
print(stp)
# 总结:先用list转换成二维数组。
# 也可以用arange()迭代生产的一位数组,调用reshape方法
# 生产想要的二维数组(指定行,列)。
# ***********************************************
# print("删除一维数组中的数字(指定索引下标):")
# result_ana = np.delete(ana, 1)
# print(result_ana)
print("删除一维数组中的多个数字(指定索引下标用,号隔开):")
result_ana_more = np.delete(ana, (1, 2))
print(result_ana_more)
print("*****************************************二维数组的删除")
print("删除二维数组中的一行,(根据下标2,就是删除第三行),")
print(stp)
result_row_one = np.delete(stp, 2, 0) # 0代表行,1代表列
print(result_row_one)
print("删除二维数组中的多行,(根据下标1,2,就是删除第二和第三行),")
result_row_more = np.delete(stp, [1, 2], 0)
print(result_row_more)
# print("测试行是否完整=", stp)
# print("删除二维数组中的多行,")
print("删除二维数组中的一列,(根据下标1,删除第二列)")
result_cols_one = np.delete(stp, 1, 1)
print(result_cols_one)
print("删除二维数组中的多列,(根据下标1,2,删除第二和第三列)")
result_cols_more = np.delete(stp, [1, 2], 1)
print(result_cols_more)
import numpy as np
# 添加(新增)数及数组,对一维数组增加长度,对二维数组维度大小增加(行或列,都增加)
# numpy生产一位数组的方式
# 第一种方式
a = [1, 2, 3, 4]
anp = np.array(a)
print(anp)
# 第二种方式
ana = np.arange(4)
print(ana)
# 总结:数组和列表的区别是,数组里面没有,点。
# 列表里面有,做分割。
# numpy生产二位数组的方式
# 第一种二维数组的生产方式
b = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
bnp = np.array(b, dtype=object)
print(bnp)
# 第二种二维数组的生产方式
stp = np.arange(24).reshape(4, 6)
print(stp)
# 总结:先用list转换成二维数组。
# 也可以用arange()迭代生产的一位数组,调用reshape方法
# 生产想要的二维数组(指定行,列)。
# ***********************************************
print("初始时候的一维数组:")
print(ana)
print("一维数组np.append的方法:")
result_row1_one = np.append(ana, 12)
print(result_row1_one)
print("二维数组np.append的方法,多加一行")
result_row1_more = np.append(stp, [[1, 2, 3, 4, 5, 6]], 0)
print(result_row1_more)
print("二维数组np.append的方法,多加一列")
result_cols_more = np.append(stp, [[1], [2], [3], [4]], 1)
print(result_cols_more)
print("一维数组np.insert()的方法:")
result_insert_one = np.insert(ana, 2, 100)
print(result_insert_one)
print("二维数组np.insert()的方法:(根据行的下标(2),插入数组)")
result_insert_more = np.insert(stp, 2, [1, 2, 3, 4, 5, 6], 0)
print(result_insert_more)
print("二维数组np.insert()的方法:(根据列的下标(3),插入数组)")
result_insert_cols_more = np.insert(stp, 3, [33, 44, 55, 66], 1)
print(result_insert_cols_more)
print("多个行数,用二维数组np.insert()的方法:(根据列的下标(3),插入数组)")
result_insert_cols_mores = np.insert(stp, 3, [[33], [44], [55], [66]], 1)
print(result_insert_cols_mores)
print("两个一维数组,组合:在列尾部,添加")
result_aa = np.hstack((ana, ana))
print(result_aa)
print("两个一维数组,组合:在行尾部,添加")
anpb = np.vstack((ana, ana))
print(anpb)
print("*********************************,下面是二维数组的操作")
print("两个二维数组,组合:在列尾部,添加")
anpb = np.hstack((stp, stp))
print(anpb)
print("两个二维数组,组合:在行尾部,添加")
anpbc = np.vstack((stp, stp))
print(anpbc)
import numpy as np
snp1 = np.array([1, 2, 3])
# 下面snp2的dtype的默认类型是
import numpy as np
snp1 = np.array([1, 2, 3])
# 下面snp2的dtype的默认类型是
import numpy as np
# arange,random.rand,random.randn,
# random.randint与random.choice 的函数用法(注释中有网站地址)
# 生成指定长度数组
# print(np.arange(10))
# print(np.arange(3, 10))
# print(np.arange(3, 10, 2))
# 生成一个随机数(0,1)之间
np3 = np.random.rand()
print("np3=", np3)
# 生成4个随机数(0,1)之间
np4 = np.random.rand(4)
print("np4=", np4)
# 生成随机数的二维数组
np5 = np.random.rand(3, 2)
print("np5=", np5)
print("*************************")
# np.random.randn生成正态分布的随机数,np.random.rand只生成正数
np6 = np.random.randn(3)
print("np6=", np6)
print("*************************")
np7 = np.random.randn(2, 3)
print("np7=", np7)
print("*************************")
# 随机生成1到100的随机数(包含1不包含100),生成的数可以重复
np8 = np.random.randint(1, 100, 10)
print("np8=", np8)
print("*************************")
# 默认生成一个随机数,random.randint(1,100)随机数中使包括1和100。
np9 = np.random.randint(1, 10)
print("np9=", np9)
# 在区间[0, 5)生成2行3列的随机数,也可以是一个数,就是一维数组。
np10 = np.random.randint(5, size=(2, 3))
print("np10=", np10)
print("*********************")
# 生成2个随机数
np11 = np.random.choice(100, 2)
print("np11=", np11)
print("*********************")
# 生成两个3行3列的数组(数字可以重复)
np12 = np.random.choice(100, (2, 3, 3))
print("np12=", np12)
print("******************")
# 随机输出100个数,不重复,从0到99,可以借助np13+1来
# 控制随机输出指定范围内不重复的数(replace=False)
# 当replace=True,可以有重复的数
# 例子:https://blog.csdn.net/qq_25436597/article/details/79815800
np13 = np.random.choice(100, 100, replace=False)
print("np13=", np13)
# 测试用的
print("np13=", sorted(np13+1))
print("************************")
# np.random.choice(5, 1, p=[0.1, 0.3, 0.2, 0.3, 0.1])的意思就是从0-4的数字中,
# 随机选取一个数字,我们以往的随机数都是等概率的随机生成,在这个,
# 我们为每个数字一个随机的概率大小,
# 就是生成0的概率为0.1,1的概率为0.3,。。。。,4的概率为0.1
# 例子:https://zhuanlan.zhihu.com/p/26821232
print(np.random.choice(5, 1, p=[0.1, 0.3, 0.2, 0.3, 0.1]))
import numpy as np
# random.shuffle()函数的方法
# [ 0 1 ....... 18 19]这20个数
arr = np.arange(20)
# 对数组打乱后重新排序
np.random.shuffle(arr)
print(arr)
# 加1后,可以当成取指定范围的随机数
print(arr+1)
# 迭代输出arr数组
for i in arr:
print(type(i))
print(type(int(i)))
import numpy as np
arr = np.arange(20)
# size与len函数时查看数组大小的
print(arr.size)
print(len(arr))
# dtype 是查看数组类型的
print(arr.dtype)
# 查看整体是什么类型
print(type(arr))
# 查看数组的维度
print(arr.ndim)
import numpy as np
arr = np.arange(20)
# # size与len函数时查看数组大小的
# print(arr.size)
# print(len(arr))
# # dtype 是查看数组类型的
# print(arr.dtype)
# # 查看整体是什么类型
# print(type(arr))
# # 查看数组的维度
# print(arr.ndim)
print("取值**************************取值")
# 具备列表的功能(取值)
print(arr[3:])
# 正数和负数可以同时用(取值)
print(arr[3:-3])
# 通过判断条件取值(这是内部实现机制)
print(arr[arr > 12])
# 建立一个多维度数组,比较加上size函数
np1 = np.random.randint(10, size=(3, 3))
print(np1)
# 下面是获取行数据
print(np1[1])
print(np1[1: 3])
print(np1[:2])
print("****************************")
# 下面是获取列数据
print(np1[:, 1])
print(np1[:, 1:3])
print(np1[:, 1:])
print(np1[:, :3])
# 行列同时获取数据
print("*****************************")
print(np1[1:, :2])
import numpy as np
# 数据类型的转换
arr = np.arange(3)
print(arr)
print(arr.dtype)
arr_float = arr.astype(np.float64)
print(arr_float)
print(arr_float.dtype)
arr_string = arr.astype(np.str_)
print(arr_string)
# 字符类型string_与|S11,str_与
import numpy as np
# 数组补值
arr = np.array([1, 2, np.nan, 4])
print(arr)
# 给空补值
arr[np.isnan(arr)] = 10
print(arr)
# 给数组转换类型
print(arr.astype(np.int32))
# 处理重复值
arrnp = np.array([1, 1, 2, 2, 3, 33, 3, 3])
# 用集合方法去重
qc_set = set(arrnp)
print(qc_set)
# 用数组方法去重
qc_list = np.unique(arrnp)
print(qc_list)
import numpy as np
# 数组重塑
arr = np.arange(10)
# 重塑数组维度
arr_shape = arr.reshape(5, 2)
print(arr_shape)
# 多维数组重塑数组
np_randint = np.random.randint(20, size=(4, 3))
print(np_randint)
# 重塑数组
np_dwcs = np_randint.reshape(2, 6)
print(np_dwcs)
# 行列数组转置
print(np_dwcs.T)
import numpy as np
# numpy数组合并
arr1 = np.array([[1, 2, 3], [4, 5, 6]])
arr2 = np.array([[7, 8, 9], [10, 11, 12]])
# 横向合并
hx_hb1 = np.concatenate([arr1, arr2], axis=1)
print(hx_hb1)
hx_hb2 = np.hstack((arr1, arr2))
print(hx_hb2)
hx_hb3 = np.column_stack((arr1, arr2))
print(hx_hb3)
# 纵向合并,默认(axis就等于0)
zx_hb1 = np.concatenate([arr1, arr2])
print(zx_hb1)
zx_hb2 = np.vstack([arr1, arr2])
print(zx_hb2)
zx_hb3 = np.row_stack([arr1, arr2])
print(zx_hb3)
import numpy as np
# numpy的函数应用
arr1 = np.array([[1, 2, 3], [4, 5, 6]])
# 求平方
arr_squ = np.square(arr1)
print(arr_squ)
# 求平方根
arr_pfd = np.sqrt(arr1)
print(arr_pfd)
print("*******************************")
# axis 等于1代表一行,等于0代表一列,主要用来控制某一行或某一列。
# sum(axis=0), mean(axis=0),max(axis=0),min(axis=0)
# 可以通过设置axis的值,来控制某一行或某一列的和,平均值,最大值,最小值等。
# 求和
print(arr1.sum())
# 求平均
print(arr1.mean())
# 求最大值
print(arr1.max())
# 求最小值
print(arr1.min())
print("***********************")
# 求标准差
print(arr1.std())
# 求方差
print(arr1.var())
print("******************")
# 求最小值索引
print(arr1.argmin())
# 求最大值索引
print(arr1.argmax())
print("************************")
# 求所有元素的累计和,结果已数组形式返回
print(arr1.cumsum())
# 求所有元素的累计积,结果已数组形式返回
print(arr1.cumprod())
print("***********************************")
# 下面是条件函数
arr_If = np.array([56, 89, 98, 87])
arr_If_jg = np.where(arr_If > 60, "及格", "不及格")
print(arr_If_jg)
# 返回满足条件的索引位置
index_wz = np.where(arr_If > 60)
print(index_wz)
# 输出索引位置,用list函数过滤一下。
for i in index_wz:
print(list(i))
print("**************************")
# 集合关系(创建两个数组)
acc1 = np.array([1, 2, 3, 4])
acc2 = np.array([1, 2, 5])
# 包含
# in1d 中间是个阿拉伯数字1
# 判断数组acc1中包含数组acc2中的哪些值,
# 如果包含则在对应位置返回True,否则返回False。
bhs = np.in1d(acc1, acc2)
print(bhs)
# 交集(交集就是返回两个数组中的公共部分)
jj_data = np.intersect1d(acc1, acc2)
print(jj_data)
# 并集(并集就是返回两个数组中含有所有数据元素的一个集合)
bj_data = np.union1d(acc1, acc2)
print(bj_data)
# 差集(差集就是返回在acc1数组中存在,但是在acc2数组中不存在的元素。)
cj_data = np.setdiff1d(acc1, acc2)
print(cj_data)
14、
15、
16、
17、
18、
19、
20、
21、
22、
23、
24、
25、
26、
27、
28、
29、
30、
31、
32、
33、
34、
35、
36、
37、
38、
39、
40、
41、
42、
43、
44、
45、
46、
47、
48、
49、
50、
51、
52、
53、
54、
55、
56、
57、
58、
59、
60、
61、
62、
63、
64、
65、
66、
67、
68、
69、
70、
71、
72、
73、
74、
75、
76、
77、
78、
79、
80、
81、
82、
83、
84、
85、
86、
87、
88、
89、
90、
91、
92、
93、
94、
95、
96、
97、
98、
99、
100、Numpy&Pandas 傻傻分不清楚? - 知乎https://zhuanlan.zhihu.com/p/146754890
import numpy as np
# 通过原有列表转换成数组
arr = list(range(10))
print(arr)
print(type(arr))
np_arr = np.array(arr)
print(np_arr)
print(type(np_arr))
print("****************************")
# 生成一维数组
np_arr1 = np.arange(15)
print(np_arr1)
print(np_arr1.dtype)
# 方法2,生成一维数组
np_arr2 = np.zeros(15)
print(np_arr2)
print(np_arr2.dtype)
# 生成多维数组
full_arr = np.full((4, 4), 9.8)
print(full_arr)
print("*************************")
# 随机取值
# 例子:https://zhuanlan.zhihu.com/p/144831755
# 例子2:https://blog.csdn.net/xia_ri_xing/article/details/82949004
# 相同点:两个函数都是在 [0, 1) 的均匀分布中产生随机数。
# 不同点:参数传递不同。random.random( )接收一个单独的元组,
# 而random.rand( )接收分开的参数
# 例如:里面的产生,是控制生成随机数的个数
np_arr3 = np.random.rand(5)
print(np_arr3)
print(type(np_arr3))
np_arr4 = np.random.random(5)
print(np_arr4)
print(type(np_arr4))
# 要生成3行5列的数组,两种函数的写法
print(np.random.rand(3, 2))
print(np.random.random((3, 2)))
print("*******************************")
# 随机生成一个整数
np_arr5 = np.random.randint(5, 10)
print(np_arr5)
print(type(np_arr5))
# 随机生成2 个整数(一维数组)
np_arr6 = np.random.randint(5, 10, 2)
print(np_arr6)
# 随机生成一个多维数组
np_arr7 = np.random.randint(1, 10, (2, 3))
print(np_arr7)
print("********************************")
# 线性等分向量
np_arr8 = np.linspace(1, 6, 100)
print(np_arr8)
print("*************************")
# 对数组排序
np_arr9 = np.random.randint(1, 20, (3, 3))
print(np_arr9)
# 横向排序(从小到大)
np_arr10 = np.sort(np_arr9)
print(np_arr10)
# 纵向排序(从小到大)
np_arr11 = np.sort(np_arr9, axis=0)
print(np_arr11)