# 三、实验内容
# 1. 如何从数组np.arange(15)中提取5到10之间的所有数字?
import numpy as np
arr=np.arange(15)
result =arr[5:11]
print(result)
# 2. 如何交换数组np.arange(9).reshape(3,3)中的第1列和第2列(可参考copy()函数)
arr1=np.arange(9).reshape(3,3)
print('原始数据:',arr1)
arr_copy=arr1.copy()
arr_copy[:,[0,1]]=arr_copy[:,[1,0]]
print('交换后:',arr_copy)
# 3. 如何获取数组a = np.array([1,2,3,2,3,4,3,4,5,6])
# 和数组b = np.array([7,2,10,2,7,4,9,4,9,8])之间的共同元素(可参考np.unique()函数)?
a = np.array([1,2,3,2,3,4,3,4,5,6])
b = np.array([7,2,10,2,7,4,9,4,9,8])
arr2 = np.intersect1d(a, b)#.intersect1d()函数获取两个数组之间的共同元素
print(arr2)
# 4. 如何查找数组np.array([1,2,3,2,3,4,3,4,5,6])中的唯一值的数量?
arr3=np.array([1,2,3,2,3,4,3,4,5,6])
print('原数据:',arr3)
arr_unique=np.unique(arr3)
print('唯一值:',arr_unique)
count = len(arr_unique)
print('唯一值数量:',count)
# 5. 如何找到二维数组np.arange(9).reshape(3,3)每一行中的最大值?
arr4=np.arange(9).reshape(3,3)
print('原数据:',arr4)
value_max=np.amax(arr4,axis=1)#1沿着行寻找最大值,0行
print('最大值:',value_max)
# 6. 如何计算数组a = np.array([1,2,3,2,3,4,3,4,5,6])
# 和数组b = np.array([7,2,10,2,7,4,9,4,9,8])之间的欧式距离(可参考np.sqrt()函数)?
a1 = np.array([1,2,3,2,3,4,3,4,5,6])
b1 = np.array([7,2,10,2,7,4,9,4,9,8])
c=a1-b1
print(c)
d=np.sqrt(np.sum(c**2))
print(d)
# 7. 如何知道数组np.array([7,2,10,2,7,2,4,9,4,9,8])中出现频率最高的值是什么?
arr5=np.array([7,2,10,2,7,2,4,9,4,9,8])
print('原数据:',arr5)
count1=np.bincount(arr5)#统计输入数组a中每个整数出现的次数
print(count1)
max_count=np.argmax(count1)#找出出现次数最多的整数的索引,即出现次数最多的整数本身
print(max_count)
欧式距离:我们首先计算两个数组的差,即将它们看做是两个向量的差,然后使用numpy.sum()函数计算差的平方和,最后使用numpy.sqrt()函数计算平方根,得到欧式距离。