#導包import numpy as np
x = np.arange(16) #array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])
#隨機打亂順序,且x順序改變
np.random.shuffle(x) #
array([13, 2, 6, 7, 11, 10, 3, 4, 8, 0, 5, 1, 9, 14, 12, 15])
np.sort(x)
x
#array([13, 2, 6, 7, 11, 10, 3, 4, 8, 0, 5, 1, 9, 14, 12, 15])
x.sort()
x
#array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])
x = np.random.randint(10, size=(4,4))#每列按大小排序
np.sort(x, axis=0)
#每行按大小排序
np.sort(x, axis=1)
x = np.arange(16)np.random.shuffle(x)
x #
array([ 5, 13, 0, 10, 2, 14, 1, 3, 11, 8, 12, 9, 7, 4, 6, 15])
np.argsort(x) #
array([ 2, 6, 4, 7, 13, 0, 14, 12, 9, 11, 3, 8, 10, 1, 5, 15],dtype=int64)
"""所得結果為打亂後資料從小到大排列的索引
"""
np.partition(x, 7) #array([ 1, 3, 0, 4, 2, 5, 6, 7, 8, 12, 13, 9, 11, 10, 14, 15])
"""np.partition(x,7) # 表示陣列 x 中第 7 小的元素位於排序完成陣列 x 的第 7 個位置上
然後小於該元素的位於該元素左邊,大於該元素的位於右邊,
左右兩邊沒有特別的排序要求,只要求左邊小於該元素,右邊大於該元素即可
"""
#返回的是排序完成的元素索引陣列
np.argpartition(x, 7)
np.random.seed(10)x = np.random.randint(10, size=(4,4))
"""array([[9, 4, 0, 1],
[9, 0, 1, 8],
[9, 0, 8, 6],
[4, 3, 0, 4]])
"""np.argsort(x, axis=1)
"""array([[2, 3, 1, 0],
[1, 2, 3, 0],
[1, 3, 2, 0],
[2, 1, 0, 3]], dtype=int64)
"""np.argpartition(x, 2, axis=1)
"""array([[2, 3, 1, 0],
[1, 2, 3, 0],
[1, 3, 2, 0],
[2, 1, 0, 3]], dtype=int64)
"""
numpy 索引多個 numpy和pandas
numpy numpy的陣列為ndarray ndarray與python列表的不同 eg 6.7.5 8.0.1.沒有 隔開,6.0表示為6.整合了c 進行運算 numpy的目的就是讓你不寫迴圈,所以效率很高 pandas 資料結構 series dataframe 索引物件 series 一組n...
numpy 索引和切片
一 取行 1 單行 陣列 index,取第index 1行 例子import numpy as np arr1 np.arange 0,24 reshape 4,6 取第2行資料 row1 arr1 1,print row1 2 連續的多行 陣列 start end 顧頭不顧尾,也可以使用步長,不過...
NumPy 切片和索引
import numpy asnp a np.arange 10,20,1 b slice 1,5,2 d a 1 5 2 e a 2 print a print a b print d print e 結果 1011 1213 1415 1617 1819 1113 1113 1213 1415 ...