❶ python numpy 選取數組前幾位的值和下標
針對一維的numpy的ndarray數組,獲取前N位的具體的數值(value),
針對一維的numpy的ndarray數組,獲取前N位所在的下標(index),
一個是原地sort,一個是np.argsort()獲取下標。如果是多維數組,可以先採用arr.flatten()轉換為一維的數組。
❷ python中數組切片含義解析
關於數組切片的解析:
① [i]、[-1];
② [:-1]、[:n]、[n:]、[n:m]、[:];
③ [n: m: x]、[: : x]、[: : ]、[-1: : ]、[: -1:]、[: :-1]
④ [a,b]、[a1:a2, b1:b2]
(-1在此相當於len(A)-1,即從首項至下標為 (len(A)-1)-1 的元素)
(-1在此相當於len(A)-1,即從下標為 len(A)-1 的元素至最後一項元素,實際上就是最後一項元素)
n和m都預設時,范圍為整個數組,元素的選擇取決於步長
x為-1時,取步長為1的倒序
a表示取第一維的下標為a的元素,b表示取第二維的下標為b的元素
a1:a2表示取第一維的下標為a1至a2-1的數組切片;
b1:b2表示取第二維的下標為b1至b2-1的數組切片。
當A[a1:a2, b1:b2]中有數值預設時,規則同一維數組。
此外,更高維數組的切片以此類推。
❸ python 數組切割
具體代碼如下:
a=[10,25,69,51,452,336,79,52,67]
b=[0,0,0,2,2,3,3,3,3]
d={}
foriinb:
d[i]=(d[i]+1)ifd.has_key(i)else1
p=0
foriind.values():
printa[p:(p+i)]
p+=i
運行結果:
❹ python中如何提取一組數據中的第一列數據
直接提取會報錯,把array數組轉換成list,即可提取,使用numpy轉換
1、直接提取嘗試:
group=[[1,2],[2,3],[3,4]]
#提取第一列元素
print(group[:,1])
#Out:TypeError: list indices must be integers or slices, not tuple
2、使用numpy轉換:
import numpy as np
group=[[1,2],[2,3],[3,4]]
#numpy轉化
ar=np.array(group)
print(ar[:,1])
#Out:[2 3 4]
numpy詳解
Numpy對象是數組,稱為ndarray
維度(dimensions)稱作軸(axes),軸的個數叫做秩(rank)。註:有幾級中括弧就有幾個維度
一、ndarray.attrs:
ndarray.ndim 秩
ndarray.shape 例如一個2排3列的矩陣,它的shape屬性是(2,3)
ndarray.size 數組元素的總個數
ndarray.dtype 元素類型,NumPy提供自己的數據類型
ndarray.itemsize 數組中每個元素的位元組大小
二、數組創建函數:
array
asarray將輸入轉換成ndarray
arange
ones
zeros
empty 只分配內存空間不填充任何值
eye 創建N*N單位矩陣(對角線為1)
三、數組和標量之間的運算
numpy數組的一個特點,不用編寫循環就可對數據執行批量運算,這通常稱作矢量化(vectorization)。
四、基本的索引和切片
numpy數組的索引是一個內容豐富的主題,因為選取數據子集或單個元素的方式有很多。這里我僅詳細介紹常用的方法,對於高級功能的方式我列舉名稱,讀者可以等到要用的時候自行查閱資料。
❺ 如何對python數組中元素進行切片
切片操作:對list,tuple元素進行截取操作,非常簡便。
L[0:3],L[:3] 截取前3個元素。
L[1:3] 從1開始截取2個元素出來。
L[-1] 取倒數第一個元素出來。
L[-10] 取後10個數
L[10:20] 取前11-20個數
L[:10:2] 取前10個數,每兩個取一個
L[::5] 所有數,每5個取一個
L[:] 原樣復制一個list
tuple,字元串也可以進行切片操作