开发者学堂课程【Python 常用数据科学库:练习题-3】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/546/detail/7476
练习题-3
1、找到在一个数组中,最接近一个数的索引
In [50]: z = np. arange (100)
v = np. random. uniform(0, 100)
print (v)
index = (np. abs (z-v)). argmin ()
print (z[index])
2、32位 float 类型和32位 int 类型转换
In [52]: z = np. arange (10, dtype=np. int32)
print (z. dtype)
z = z. astype (np. float32)
print (z. dtype)
3、打印数组元素位置坐标与数值
In [53]: z = np. arange (9). reshape (3,3)
for index, value in np. ndenumerate (z) :
print (index,value)
4、按照数组的某一列进行排序
In [55]: z = np. random. randint (0, 10, (3, 3))
print (z)
print (z[z[:,1].argsort()])
5、统计数组中每个数值出现的次数
In [56]: z = np.array ([1,1,1,2,2,3,3,4,5,8])
np.bincount (z)
6、如何对一个四维数组的最后两维来求和
In [58]: z = np. random. randint (0, 10, (4, 4,4, 4))
res = z. sum(axis=(–2,-1))
res
7、交换矩阵中的两行
In [60]:z = np. arange (25). reshape (5,5)
z[[0,1]]= z[[1,0]]
Z
8、找到一个数组中最常出现的数字
In [62]: z = np. random. randint (0, 10,50)
print (np.bincount(z).argmax())
9、快速查找 TOP K
In [66]: z = np. arange (10000)
np. random. shuffle (z)
n=5
print (z[np. argpartition(–z, n) [:n]])
10、去除掉一个数组中,所有元素都相同的数据
In [68]: np. set_printoptions (threshold=np.nan)
z = np. random. randint (0, 3, (10, 3))
Z
In [86]: e = np.all(z[:,1:] == z[:,:-1],axis = 1)
print (e)
In [73]: a = np. array ([1,2, 3, 4])
b = np. array ([1,2,3,5])
np.all(a == b)
In [71]:np.any(a == b)