1. 程式人生 > >《Python資料分析與展示》學習筆記(一)numpy入門

《Python資料分析與展示》學習筆記(一)numpy入門

一.資料分析的基礎
Python在資料科學領域有一套成熟的工具鏈,numpy就是整個工具鏈的基礎構件,就像數位電路中的與非門,是其他複雜電路的基礎。
numpy在數學中對應的理論就是線性代數,numpy的核心是提供了ndarray這個N維陣列物件,而這個N維陣列物件本質是對應了線性代數中的矩陣的概念。
通過模仿矩陣運算來提高計算的效率,如何模仿矩陣運算,也是他和其他Python資料結構的關鍵區別:
去掉元素間運算所需要的迴圈
這樣使得程式設計師能夠利用numpy提供的這種抽象,用矩陣的方式來計算,可以極大的提高計算的效率

二.numpy物件的理解
作為一個看過《Python原始碼剖析》的人,我對numpy中ndarray這個物件的實現有一些推測。
Python的CPython實現中,一切都是物件,具體來說,所有東西就對應了一個C語言的結構體。
同時課程中老師也說了,ndarray由兩部分構成:
一是實際的資料,
二是描述資料的元資料,即物件的屬性。
也就可以猜測,ndarray的實現與list相似,實際資料部分是由一個指標來連結,而所謂的物件屬性,則可能是結構體中的屬性。

三.學習思路
(1)把numpy當做一個數據結構來學,主要學習對外提供的介面,細分為:
1.建立
2.變換
3.索引切片
4.運算
(2)結合線性代數理解概念:
維度,秩,軸等。
(3)具體的使用看老師的PPT就好了。