1.找到数组[1,2,0,0,4,0]中0元素的位置索引
import numpy as np
方法一:nz = np.nonzero([1,2,0,0,4,0])
nz
方法二:a = np.array([1,2,0,0,4,0])
np.argwhere( a== 0 )
2.创建单位数组的两种方法:
np.identity(3)
np.eye(3)
3. 对于一个存在数组,如何添加一个用0填充的边界
arr = np.ones((5,5))
arr
np.pad(arr,pad_width=2,mode='constant',constant_values=0)
4.创建一个5*5的矩阵,并设置值1,2,3,4落在其对角线下方位置
arr = np.diag(1+np.arange(4),k=-1)
5.考虑一个(4,5)形状的数组,其第6个元素的索引(x,y)是什么
np.unravel_index(6-1,(4,5))
6. 用tile函数去创建一个8*8的棋盘样式矩阵
np.tile(np.array([[0,1],[1,0]]),(4,4))
7. 一个5*3的矩阵与一个3*2的矩阵相乘,矩阵乘积是什么
arr = np.dot(np.ones((5,3)),np.ones((3,2)))
8. 给定一个一维数组,对其在3到8之间的所有元素取反
arr = np.arange(11)
arr[(3 < arr) & (arr <= 8)] *= -1
arr
9. 创建一个长度为10的空数组
np.empty(10)
10. 如何找到任何一个数组的内存大小
arr = np.zeros((10,10))
arr.size * arr.itemsize
11. 筛选以'c'开头数据的两种方法
euro12[euro12['Team'].map(lambda x:x.startswith('c'))] #方法一
euro12[euro12['Team'].str.startswith('c')] #方法二
12.多条件筛选
euro12[('Shooting Accuracy_number']>0.5) & (euro12['Red Cards']==0)]
euro12[["Team","Shooting Accuracy"]][euro12.Team.isin(["England","Italy","Russia"])]
13.转换为数值型
euro12['Shooting Accuracy_number']=euro12['Shooting Accuracy'].str.strip('%').astype(float)/100 #方法一