1. 程式人生 > >使用Python進行資料分析--------------NumPy基礎:陣列和向量計算

使用Python進行資料分析--------------NumPy基礎:陣列和向量計算

NumPy(Numerical重點內容 Python的簡稱)

是Python數值計算最重要的基礎包。大多數提供科學計算的包都是用NumPy的陣列作為構建基礎。

NumPy的部分功能如下:
- ndarray,一個具有向量算術運算和複雜廣播能力的快速且節省空間的多維陣列。
- 用於對整組資料進行快速運算的標準數學函式(無需編寫迴圈)。
- 用於讀寫磁碟資料的工具以及用於操作記憶體對映檔案的工具。
- 線性代數、隨機數生成以及傅立葉變換功能。
- 用於整合由C、C++、Fortran等語言編寫的程式碼的A C API。

由於NumPy提供了一個簡單易用的C API,因此很容易將資料傳遞給由低階語言編寫的外部庫,外部庫也能以NumPy陣列的形式將資料返回給Python。這個功能使Python成為一種包裝C/C++/Fortran歷史程式碼庫的選擇,並使被包裝庫擁有一個動態的、易用的介面。

NumPy的ndarray:[一種多維陣列物件]

NumPy最重要的一個特點就是其N維陣列物件(即ndarray),該物件是一個快速而靈活的大資料集容器。你可以利用這種陣列對整塊資料執行一些數學運算,其語法跟標量元素之間的運算一樣。

import numpy as np
data=np.random.rand(2,3)
data
array([[0.48647845, 0.04507442, 0.20495593],
       [0.80353623, 0.93839   , 0.75206625]])

建立ndarray

1,建立陣列最簡單的辦法就是使用array函式。它接受一切序列型的物件(包括其他陣列),然後產生一個新的含有傳入資料的NumPy陣列。以一個列表的轉換為例:

data = [6, 7, 8, 0, 1]
arr = np.array(data1)

2,巢狀序列(比如由一組等長列表組成的列表)將會被轉換為一個多維陣列:

data = [[1, 2, 3, 4], [5, 6, 7, 8]]
arr = np.array(data2)

因為data是列表的列表,NumPy陣列arr的兩個維度的shape是從data引入的。可以用屬性ndim和shape驗證,array這個方法是可以自動設定合適的型別來儲存你的資料
一下是建立方式API
這裡寫圖片描述
這裡寫圖片描述

其實不管學習什麼東西 都需要大家常常練習,反覆琢磨才行,一定要深入,不能停留在表面,特別是做技術的