'''陣列排序
1. sort
sort是inplace=true的,lexsort是inplace=false的,所以想要看lexsort的排序效果,需要用lexsort函式返回的下標索引去獲取元素觀察。
2. lexsort。
對於多個陣列,lexsort是把最後乙個陣列排序,再以這個排序方式去排前面的陣列。
對於多維陣列,lexsort是把最後一行排序,再以這個排序去排前面的行。
如果最後乙個陣列(或最後一行)裡面有重複的,就根據重複元素對應到 前乙個陣列(或前一行)上的元素的大小順序。依次類推。
'''import numpy as np
# arr = np.arange(16,0,-1)
# 排序
# arr.sort()
# print(arr)
# def sort(self, axis=-1, kind='quicksort', order=none):
# axis=1橫向排序
# axis=0縱向排序
# kind選擇排序演算法
# order選擇乙個索引,對該索引下面的資料排序。在原始碼中有乙個例子。
# arr2 = np.arange(16,0,-1).reshape(4,4)
# arr2.sort(axis=1)#橫向
# print(arr2)
# arr2.sort(axis=0)#縱向
# print(arr2)
# arr3 = np.arange(6,2,-1)
# print(arr3.argsort())#返回排序後的元素在原來陣列中的下標索引
# arr3 = np.array([3,4,6,5])
# print(arr3.argsort())
# arr4 = np.array([6,2,8,3])
# arr5 = np.array([12,65,98,34])
# arr6 = np.array([234,483,173,841])
# res = np.lexsort((arr4,arr5,arr6))
# print(res)[2 0 1 3]
# print(type(res))surname = ('tom','jerry','an','jerry')
surname2 = ('tom','jerry','zip','jerry')#相同元素排序,根據前乙個陣列first_name對應位置上的來排,如果前一陣列也相同,再根據前前個,依次類推。
surname3 = ('tom','jerry','jerry','zip')#
first_name = ('bing','cage','obama','dush')
ind = np.lexsort((first_name,surname))
ind2 = np.lexsort((first_name,surname2))
ind3 = np.lexsort((first_name,surname3))
print(ind)#[2 3 1 0]
print(ind2)#[1 3 0 2]
print(ind3)#[1 2 0 3]
# arr7 = np.array([[2,3],[6,4],[5,1]])
# res = np.lexsort(arr7)
# print(res)
# for r in res:
# print(arr7[0][r])
# print(arr7[1][r])
# print(arr7[2][r])
data analysis 陣列拆分
陣列的拆分 hsplit拿刀切菜,刀刃豎著往下切。每一次下刀,刀是在橫向移動後切下去。split arr,切成幾分,axis 1 vsplit拿刀片魚片,刀刃橫著往右邊切。每一次下刀,刀是在縱向移動後切下去。split arr,片成幾層,axis 0 import numpy as np arr n...
data analysis 矩陣運算
矩陣運算 1.矩陣與數相乘。與矩陣每個元素相乘 2.矩陣加減。對應位置元素相加減。shape屬性必須一致 3.矩陣相乘。m行n列 乘 n行l列 等於 m行l列。推薦使用matmul,dot 4.矩陣對應元素相乘。用multiply 5.m.h共軛轉置 m.i逆矩陣 m.t轉置矩陣 m.a impor...
資料分析(Data Analysis)
資料分析概念 資料也稱觀測值,是實驗 測量 觀察 調查等的結果,常以數量的形式給出。資料分析的目的是把隱沒在一大批看來雜亂無章的資料中的資訊集中 萃取和提煉出來,以找出所研究物件的內在規律。在實用中,資料分析可幫助人們作出判斷,以便採取適當行動。資料分析是組織有目的地收集資料 分析資料,使之成為資訊...