import numpy as np
defprint_ndarray(input_data):'''
实例化ndarray对象并打印
:param input_data: 测试用例,类型为字典类型
:return: None
'''#********* Begin *********#
a = np.array(input_data['data'])print(a)#********* End *********#
第二关 形状操作
import numpy as np
defreshape_ndarray(input_data):'''
将ipnut_data转换成ndarray后将其变形成一位数组并打印
:param input_data: 测试用例,类型为list
:return: None
'''#********* Begin *********#
a=np.array(input_data)
a=a.reshape((1,-1))print(a[0,])#********* End *********#
第三关 基础操作
import numpy as np
defget_answer(input_data):'''
将input_data转换成ndarray后统计每一行中最大值的位置并打印
:param input_data: 测试用例,类型为list
:return: None
'''#********* Begin *********#
a=np.array(input_data)print(a.argmax(axis=1))#********* End *********#
第四关 随机数生成
import numpy as np
defshuffle(input_data):'''
打乱input_data并返回打乱结果
:param input_data: 测试用例输入,类型为list
:return: result,类型为list
'''# 保存打乱的结果
result =[]#********* Begin *********#
result=list(np.random.choice(a=input_data,size=len(input_data),replace=False))#********* End *********#return result
第五关 索引与切片
import numpy as np
defget_roi(data, x, y, w, h):'''
提取data中左上角顶点坐标为(x, y)宽为w高为h的ROI
:param data: 二维数组,类型为ndarray
:param x: ROI左上角顶点的行索引,类型为int
:param y: ROI左上角顶点的列索引,类型为int
:param w: ROI的宽,类型为int
:param h: ROI的高,类型为int
:return: ROI,类型为ndarray
'''#********* Begin *********##a=np.array(data)
b=data[x:x+h+1,y:y+w+1]return b
#********* End *********#