numpy是高效能科學計算和資料分析的基礎包。它是pandas等其他各種工具的基礎。
numpy的主要功能:
python中操作方式:
也可以通過安裝anaconda軟體操作,裡面包含(numpy,pandas以及matplotlib多個庫),本片文章是在anaconda3中執行!!!
anaconda安裝及建立專案教程:
建立ndarray:np.array()
ndarray是多維陣列,與列表的區別是:
常用屬性:
**示例:
ndarray資料型別:dtype:四、numpy:ndarray-建立●布林型:bool_
●整型:int_ int8 int16 int32 int64
●無符號整型:uint8 uint16 uint32 uint64
●浮點型:float_ float16 float32 float64
●複數型:complex_ complex64 complex128
建立ndarray:五、numpy:索引和切片●array() 將列表轉換為陣列,可選擇顯式指定dtype
●arange() range的numpy版,支援浮點數
●linspace() 類似arange(),第三個引數為陣列長度
●zeros() 根據指定形狀和dtype建立全0陣列
●ones() 根據指定形狀和dtype建立全1陣列
●empty() 根據指定形狀和dtype建立空陣列(隨機值)
-**示例:六、numpy:布林型索引●a= np.array([0,1,2,3,4,5,6,7,8,9])
●a2 = np.array([[0,1,2,3,4],[5,6,7,8,9],[10,11,12,13,14]])
-陣列和標量之間的運算
●a+1 a*3 1//a a**0.5
-同樣大小陣列之間的運算
●a+b a/b a**b
-陣列的索引
●一維陣列:a[5] --> #5
●多維陣列:
●列表式寫法:a2[2][3] --> #13
-陣列的切片
●一維陣列:a[5:8] --> # array([5,6,7])
a[:3] = 1 --> # array([1,1,1,3,4,5,6,7,8,9])
●二維陣列:a2[1:2, :4] --> # array([[5, 6, 7, 8]])
a2[:,:1] --> # array([[0],[5],[10]])
a2[:,1] --> # array([1,6,11])
-與列表不同,陣列切片時並不會自動複製,在切片陣列上的修改會影響原陣列。
●【解決方法: copy()】
問題:給乙個陣列,選出陣列中所有大於5的數。七、numpy:花式索引*答案:a[a>5]
原理:a>5會對a中的每乙個元素進行判斷,返回乙個布林陣列
布林型索引:將同樣大小的布林陣列傳進索引,會返回乙個由所有true對應位置的元素的陣列
問題2:給乙個陣列,選出陣列中所有大於5的偶數。
答案:a[(a>5) & (a%2==0)]
原理:此處不能用and,and為關鍵字;&為運算子,表示與的意思
問題3:給乙個陣列,選出陣列中所有大於5的數或偶數。
答案:a[(a>5) | (a%2==0)]
原理:此處 |表示或的意思
備註:~表示非的意思
問題1:對於乙個陣列,選出其第1,3,4,6,7個元素,組成新的二維陣列。八、numpy:通用函式通用函式:能同時對陣列中所有元素進行運算的函式●答案:a[[1,3,4,6,7]]
問題2:對乙個二維陣列,選出其第一列和第三列,組成新的二維陣列。
●答案:a[:,[1,3]]
問題3: 已知 a2 = np.array([[0,1,2,3,4],[5,6,7,8,9],[10,11,12,13,14]]),想要獲取新的陣列array([[1,3],[11,13]])該怎麼切?
●答案: a2[[0,2],:][:,[1,3]]
●備註:切勿兩邊同時花式索引,a2[[0,2],[1,3]],得出 array([ 1, 13])
九、numpy:數學和統計方法
常用函式:十、numpy:隨機數生成●sum 求和
●mean 求平均數
●std 求標準差
●var 求方差
●min 求最小值
●max 求最大值
●argmin 求最小值索引
●argmax 求最大值索引
常用函式●rand 給定形狀產生隨機數組(0到1之間的數)
●randint 給定形狀產生隨機整數
●choice 給定形狀產生隨機選擇
●shuffle 與random.shuffle相同
●uniform 給定形狀產生隨機數組
02 資料分析 numpy的使用
名稱 描述bool 布林型資料型別 true 或者 false int預設的整數型別 類似於 c 語言中的 long,int32 或 int64 intc 與 c 的 int 型別一樣,一般是 int32 或 int 64 intp 用於索引的整數型別 類似於 c 的 ssize t,一般情況下仍然...
Pyhon資料分析 Numpy基本操作
importnumpyasnp a numpy.array numpy 陣列 矩陣 a 1 取第二列 建立陣列 矩陣 陣列 即矩陣 的維度被稱為axes,維數稱為 rank np.arange num reshape m,n 一維陣列轉變為 m,n 矩陣 np.linspace 隨機數字矩陣 num...
numpy資料分析
2020 11 2 import array arr array.array i list range 10 i表示整型,生成序列後不能改變資料型別 多維陣列ndarray方便處理多維度運算,運算效率高 nparr np.array list range 10 修改值,浮點數取整數段 nparr 2...