Day Two——填充缺失值、歸一化數據、PCA降維分析
第一部分數據catering_sale.xls
第二部分數據normalization_data.xls
第三部分數據discretization_data.xls
第四部分數據electricity_data.xls
第五部分數據leleccum.mat
第六部分數據principal_component.xls
第一部分——拉格朗日填值
對應函數programmer_1
步驟
讀取數據
將異常數據(篩選數據)重新賦值爲
Nan
找到空值索引
isnull
對於每個空值調用
ployinterp_column
函數, 函數返回scipy.interpolate.lagrange
填充值導出excel表
to_excel
說明
在選取數據的時候最好使用.loc
方法,如果用複合條件篩選df[condition][condition]
。會有下面兩個影響。
使用
.loc
官方推薦方法,查詢速度會更快使用複合條件篩選,可能會產生一些不可名狀的錯誤。
某些情況下,如果直接使用複合條件進行賦值,會有個SetWarning
。
SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
賦值的時候,有時候可以考慮把第一個條件改爲[[conition]]
,這樣輸出爲DataFrame
,之後再用索引進行賦值,也不會報waning。
還有一種方法就是用copy()
方法,將原來的數據進行提取
以上具體說明查閱pandas文檔
第二部分——數據規範化
對應函數programmer_2
步驟
讀取數據
最小-最大規範化(歸一化)
零-均值規範化
小數定標規範化
P.S.np.ceil
: 向上取整、np.log10
: 以10爲底取對數
第三部分——分別用三種聚類方法可視化
對應函數programmer_3
步驟:
讀取數據,提取需要聚類的數據部分
第一種方法,使用pandas直接指定聚類數(多少簇),使用
pd.cut
進行分類。第二種方法,使用等頻率離散化方法,重新指定分類標準。提取五個分位點0、25%、50%、75%、1的數據,再使用
pd.cut
進行分類。第三種方法,使用
sklearn.cluster.KMeans
方法,提取聚類中心進行排序,之後再得出邊界點,再使用pd.cut
進行分類。可視化
說明:
pd.cut(x, bins, precision=3)
:
對函數這幾個參數進行介紹,x
是Series
數據,precision
是聚類數。着重介紹bins
分兩種情況:
整型,表示定義了x範圍內的等寬的bins數,可以拓展x(包含x的最大值最小值)
序列(數組),運行每類寬度不等,不能擴展x(可能不包含最大值最小值)
使用reshape
時報了一個warning
。解決方法就是跟警告說明一樣,在原來基礎上使用.values.shape
FutureWarning: reshape is deprecated and will raise in a subsequent release. Please use .values.reshape(...) instead
圖形如下:
![pic3_1.png](
https://raw.githubusercontent.com/wnma3mz/python_ds_dm_note/master/chapter4/img/3_1.png)
![pic3_2.png](
https://raw.githubusercontent.com/wnma3mz/python_ds_dm_note/master/chapter4/img/3_2.png)
![pic3_3.png](
https://raw.githubusercontent.com/wnma3mz/python_ds_dm_note/master/chapter4/img/3_3.png)
第四部分——pandas計算比率
對應函數programmer_4
步驟:
提取數據
根據已有數據,算出新數據。供入電量與供出電量的差值除以供入電量得出線損率。
保存數據
第五部分——利用小波分析進行特徵分析
對應函數programmer_5
小波分析。。。知識盲區,在這裏不做介紹
第六部分——使用PCA降維數據
對應函數programmer_6
主成分分析,主要用於高維度數據降維。
部分函數說明
components_
: 特徵空間中的主軸,代表數據中最大方差的方向。explained_variance_ratio_
: 每個選定組件解釋的變化量。等於x的協方差矩陣的n_components最大特徵值。