import numpy as np
#排序
arr = np.random.randint(1,10,size=10)
arr.sort() #sort() 没有返回值,排序完直接调用;sorted()有返回值
print("排序后",arr)
arr1 = np.random.randint(1,10,size = (3,3))
print(arr1)
arr1.sort()
print('按行排序',arr1)
arr1.sort(axis = 0)
print('按列排序',arr1)
#返回索引
arr = np.random.randint(1,10,size=10)
print(arr.argsort()) #返回下标
#用argsort取值
print(arr[arr.argsort[:5]])
arr.sort()
print(arr[0:5])
#lexsort():
a = np.array([4,6,8,0,7])
b = np.array([50,30,20,10,60])
c = np.array([400,30,20,10,100])
d = np.lexsort((a,b,c))
print('11111',d) # [3 2 1 4 0] 以最后c的索引,扩展到整个表
print(list(zip(a[d],b[d],c[d])))
#去重
arr = np.array(['小红','小芳','小强','小红','小芳','小强','小红','小红','小红','小红'])
print("去重后的数组为:",np.unique(arr))
#重复:
arr2 = np.arange(10).reshape((5,2))
print(np.tile(arr,3)) #tile 针对整体数组重复 重复三次 tile瓦片的意思
print(np.tile(arr2,3))
#对元素进行重复:repeat
print(arr2.repeat(2,axis = 0))
#10个统计函数
print(arr2.sum()) #所有元素求和
print(np.sum(arr2,axis = 0)) #纵向求和
print(np.sum(arr2,axis = 1)) #横向求和
print('平均',np.mean(arr2))
print('纵向平均',np.mean(arr2,axis = 0))
print('方差',arr2.var())
print('方差,纵向',arr2.var(axis=0))
print('标准差,纵向',arr2.std(axis=0))
print('最小值',arr2.min())
print('最大值',arr2.max())
print("最小值下标",arr2.argmin())
print("最大值下标",arr2.argmax())
print("累计和",arr2.cumsum)
print("累计积", arr2.cumprod)
numpy之数组统计函数(排序,去重,方差,标准差等)
最新推荐文章于 2024-09-12 08:39:16 发布