目录
1.课前准备:
(1)python可视化免费软件(官网:Project Jupyter | Home):
Jupyter Notebook (anaconda)
(2) 会动的脑袋瓜子
(3)本篇阅读完有啥不理解的可以在评论区留言哈。
2.Numpy库怎么用?案例演示:
2.1 数组排序
案例1:sort方法
- 创建一个一维数组arr1
- 直接使用sort方法对arr1排序,直接在原数组上进行排序,不返回新的数组
- 创建一个二维数组arr2
- 使用sort方法对arr2的每一行排序
- 创建另一个二维数组arr3
- 使用sort方法对arr3的每一列排序
arr1=np.random.randint(2,14,10)
print("1.未排序之前的数组为:\n",arr1)
arr1.sort()
print("直接排序:\n",arr1)
arr2=np.random.randint(2,15,size=(3,4))
print("2.未排序之前的数组为\n",arr2)
arr2.sort(axis=1)
print("每一行排序:\n",arr2)
arr3=np.random.randint(2,15,size=(3,4))
print("3.未排序之前的数组\n",arr3)
arr3.sort(axis=0)
print("每一列排序:\n",arr3)
案例2:直接排序
返回一个新的已排序的数组,而原数组arr3
不变
arr3 = np.random.randint(2,15,size =(3,4))
print("排序后数组为:\n",arr3)
print("排序后数组为:\n",np.sort(arr3))
print("原数组为:\n",arr3)
案例3:间接排序
- 创建一个二维数组arr5,并打印未排序之前的数组。
- 使用np.sort()方法对arr5进行排序,并打印排序后的数组。
- 再次打印原数组arr5,观察其是否发生变化。
- 首先,创建两个numpy数组surnames和first_names,分别存储姓氏和名字。
- 然后,使用np.lexsort()函数对这两个数组进行间接排序。lexsort()函数接收一个元组作为参数,元组中的元素是需要排序的数组。在这个例子中,我们需要根据姓氏和名字进行排序,所以传入的参数是(first_names, surnames)。
- np.lexsort()函数会返回一个索引数组ind,表示排序后的数组元素在原数组中的位置。
- 最后,使用zip()函数将排序后的姓氏和名字组合在一起,并打印结果。
arr5 = np.random.randint(2,15,size =(3,4))
print("未排序后数组为:",arr5)
print("排序后数组为:",arr5.argsort())
print("原数组为:",arr5)
print("---------------------------------------------------------------")
surnames = np.array(('Hertz','Galilei','Herts'))
first_names=np.array(('Heinrich','Galieo','Gustav'))
ind