數據分析學習筆記
Numpy 是Python科學計算的基礎包,具有矢量運算能力,快速、節省空間。numpy支持高級大量的維度數組與矩陣運算,此外也針對數組運算提供大量的數學函數庫
ndarray(多維數組):Numpy最重要的一個特點是其N維數組對象(ndarray),該對象是一個快速而靈活的大數據集容器。其中所有的元素必須是同一類型的。每個數組都有一個shape(表示各維度大小的元組)和dtype(說明數據類型的對象)。
創建ndarray:①利用np.array將輸入數據(列表,元組或其他序列類型)轉換為ndarray;②asarray:將輸入轉換為ndarray;③arrange:類似於內置的range,但返回的是一個ndarray而不是列表;④zeros和ones用來生成全是0或者全是1 的數組;⑤empty可以創建一個沒有任何具體值的數組。
注意:很多情況下,np.empty返回的是一些為初始化的垃圾值。
ndarray的數據類型:目前只需要知道有float,complex,int,bool,string還是普通的python對象。
數組和標量之間的運算:跟R一樣,對應元素相加減乘除。
索引: arr=np.arange(10)#建立一個從0到9的數組 arr array([0,1,2,3,4,5,6,7,8,9]) array[5] #尋找第5個元素 5 array[5:8]#尋找第5到8個元素 array[5,6,7] array[5:8]=12#對元素賦值 arr#被賦值後的新的數組 array([0,1,2,3,4,12,12,12,8,9])切片: arr[1:6] array([1,2,3,4,12])二維情形: arr2d array([[1,2,3],[4,5,6],[7,8,9]]) arr2d[:2] array([[1,2,3],[4,5,6]]) arr2d[:, :1] array([[1],[4],[7]])

數組轉置和軸對換:
轉置:arr.T 轉置後跟R中一樣,行列對調
在進行矩陣運算時經常用到,利用np.dot計算矩陣內積 np.dot(arr.T,arr)
通用函數:與R類似,需要用可查詢《利用python進行數據分析》第99頁
np.where是三元表達式x if condition else y的矢量化版本。

比起以前使用 x if condition else y for...好用很多
對數組排序可以用sort,

對數組元素唯一化可以用unique

常用的線性代數函數:書上第110頁。
隨機數生成:

Numpy一維數組與列表的區別:
1.統計功能 2.向量化計算
Pandas 數據分析工具,提供了能夠快速便捷處理結構化數據的大量數據結構和函數, 方便的對錶結構進行數據分析。
雖然pandas採用了大量的NumPy編碼風格,但二者最大的不同是pandas是專門為處理表格和混雜數據設計的。而NumPy更適合處理統一的數值數組數據
pandas的series有索引,可以根據索引獲取元素的值。對於許多應用而言,Series最重要的一個功能是,它會根據運算的索引標籤自動對齊數據。
series處理缺失值的方法:1.刪除缺失值。x.dropna() 2.x.add(y,fill_value=0)

pandas二維數據分析
DataFrame是一個表格型的數據結構,它含有一組有序的列,每列可以是不同的值類型(數值、字元串、布爾值等)。DataFrame既有行索引也有列索引,它可以被看做由Series組成的字典(共用同一個索引)。
數據框比numpy二維數組的優點在於:1.數據框的每一列可以是不同的數據類型;2.有一個類似於pandas一維數組series的索引值。
建DataFrame的辦法有很多,最常用的一種是直接傳入一個由等長列表或NumPy數組組成的字典
為不存在的列賦值會創建出一個新列。
關鍵字del用於刪除列。
另一種常見的數據形式是嵌套字典:

如果嵌套字典傳給DataFrame,pandas就會被解釋為:外層字典的鍵作為列,內層鍵則作為行索引
用該Series的reindex將會根據新索引進行重排
用標籤序列調用drop會從行標籤(axis 0)刪除值
通過傳遞axis=1或axis=columns可以刪除列的值
數據框中查詢某幾列和切片功能:

Matplotlib 圖形包,用於繪製數據圖表。
數據分析的步驟:
數據清洗的步驟:
1.選擇子集就是從中選取子集需要的列,利用.loc[ , ]可以截取;
2.列名重命名可以利用.rename

3.缺失數據處理
兩種方法:①直接刪除缺失值;②建立模型插補缺失值
4.數據類型轉換 例如時間或者數量或金額等需要轉換成別的類型。
5。數據排序 sort_values 按值排序
sort_index 按索引排序
推薦閱讀:
※pathon學習手冊(2)——藥店銷售數據分析
※數據分析技巧:如何將Excel二維錶轉一維表?
※「我想做數據分析師,你覺得我能行嗎?」
※數據挖掘分類方法小結



