1、np.flatnonzero()函数
该函数输入一个矩阵,返回扁平化后矩阵中非零元素的位置(index),也可以返回指定元素在矩阵中的位置
import numpy as np
arr = np.array([2,3,1,0,2,5,2])
arr1 = np.flatnonzero(arr)
arr2 = np.flatnonzero(arr==2)
print('arr非零元素下标:{}'.format(arr1))
print('arr1值为2的元素下标:{}'.format(arr2))
输出结果为:
arr非零元素下标:[0 1 2 4 5 6]
arr1值为2的元素下标:[0 4 6]
2、np.random.choice()函数
numpy.random.choice
(a,size=None,replace=True,p=None):从输入数据a中随机抽取元素组成新的数组
a-------------输入应该为一维数据,列表、元组、数组均可,但新数据类型都是数组
size----------新数据的大小
replace------是否可以抽取相同元素,True(默认)为可以,Flase表示不可以抽取相同的元素
p--------大小应该和a的大小相同,表示对a中元素抽取概率的大小
alist = [1,2,3,4,5] #列表
atuple = (1,2,3,4,5)#元组
arr = np.array([1,2,3,4,5])#数组
alist_choice = np.random.choice(alist,3)
atuple_choice = np.random.choice(atuple,3)
arr_choice = np.random.choice(arr,3)
print('alist_choice:',alist_choice,type(alist_choice))
print('atuple_choice:',atuple_choice,type(atuple_choice))
print('arr_choice:',arr_choice,type(arr_choice))
输出结果为:
alist_choice: [4 1 1] <class 'numpy.ndarray'>
atuple_choice: [4 4 4] <class 'numpy.ndarray'>
arr_choice: [4 2 1] <class 'numpy.ndarray'>