数组索引
import numpy as np
a = np.arange(10)
print(a)
'''[0 1 2 3 4 5 6 7 8 9]'''
print(a[1])
'''1'''
print(a[[1, 2, 3]])
'''[1 2 3]'''
a = np.arange(20).reshape(4, 5)
print(a)
'''
[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]
[15 16 17 18 19]]'''
print(a[1,2])
'''7'''
b=a.tolist()
print(b[1][2])
'''7'''
数组切片
'和list 切片操作是一样的,[起始索引:截至索引:步长]'
import numpy as np
a = np.arange(10)
print(a)
'''[0 1 2 3 4 5 6 7 8 9]'''
print(a[1:5])
'''[1 2 3 4]'''
print(a[0:-1:2])
'''[0 2 4 6 8]'''
a = np.arange(20).reshape(4, 5)
print(a)
'''
[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]
[15 16 17 18 19]]'''
print(a[0:3, 2:4])
'''
[[ 2 3]
[ 7 8]
[12 13]]
'''
排序
"""
numpy.sort方法对多维数组元素进行排序。其方法为:
numpy.sort(a, axis=-1, kind='quicksort', order=None)
a:数组。
axis:要排序的轴。如果为None,则在排序之前将数组铺平。默认值为 -1,沿最后一个轴排序。
kind:{'quicksort','mergesort','heapsort'},排序算法。默认值为 quicksort
numpy.lexsort(keys ,axis):使用多个键进行间接排序。
numpy.argsort(a ,axis,kind,order):沿给定轴执行间接排序。
numpy.msort(a):沿第 1 个轴排序。
numpy.sort_complex(a):针对复数排序。
"""
import numpy as np
a = np.random.rand(20).reshape(4, 5)
print(np.sort(a))
'''
[[0.16084851 0.46068528 0.54154642 0.919661 0.94382193]
[0.11625906 0.26092216 0.40612362 0.69805412 0.92098232]
[0.65406008 0.66565906 0.70732966 0.77505101 0.97876487]
[0.11915551 0.50262157 0.58882585 0.72087149 0.82008241]]
'''
搜索与计数
'''
argmax(a ,axis,out):返回数组中指定轴的最大值的索引。
nanargmax(a ,axis):返回数组中指定轴的最大值的索引,忽略 NaN。
argmin(a ,axis,out):返回数组中指定轴的最小值的索引。
nanargmin(a ,axis):返回数组中指定轴的最小值的索引,忽略 NaN。
argwhere(a):返回数组中非 0 元素的索引,按元素分组。
nonzero(a):返回数组中非 0 元素的索引。
flatnonzero(a):返回数组中非 0 元素的索引,并铺平。
where(条件,x,y):根据指定条件,从指定行、列返回元素。
searchsorted(a,v ,side,sorter):查找要插入元素以维持顺序的索引。
extract(condition,arr):返回满足某些条件的数组的元素。
count_nonzero(a):计算数组中非 0 元素的数量。
'''
import numpy as np
a = np.random.randint(0, 10, 20)
print(a)
'''[4 2 0 9 4 6 2 6 5 6 9 9 5 5 8 8 7 9 2 7]'''
print(np.argmax(a))
'''3'''
print(np.argmin(a))
'''2'''
print(np.nonzero(a))
'''(array([ 0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
18, 19], dtype=int64),)'''
print(np.count_nonzero(a))
'''19'''
print(np.extract(a>3,a))
'''[4 9 4 6 6 5 6 9 9 5 5 8 8 7 9 7]'''
print(np.where(a>5))
'''(array([ 3, 5, 7, 9, 10, 11, 14, 15, 16, 17, 19], dtype=int64),)'''