機器學習離不開資料,資料分析離不開pandas。昨天感受了一下,真的方便。按照一般的使用過程,將pandas的常用方法說明一下。
首先,我們拿到乙個excel表,我們將之另存為csv檔案。因為檔案是實驗室的資源,我就不分享了。
首先是檔案讀取
def我們呼叫read_csv檔案可以直接讀取csv檔案。其返回值為dataframe。excel如果橫向拖動太多的話,會生成很多空列。這裡我們通過drop方法刪掉39列之後的列。load_csv(filename):
data=pd.read_csv(filename)
data = data.drop(data.columns[39:], axis=1)
return data
然後pandas為了讓顯示美觀,會在輸出資訊的時候自動隱藏資料。我們調整引數,使資料全部顯示。
pd.set_option('設定最多顯示10行,500列。寬度為500.display.max_rows
', 10)
pd.set_option(
'display.max_columns
', 500)
pd.set_option(
'display.width
', 500)
使用 data.head()可以檢視前4行的資料。
可以看到全部資料都被顯示出來了。然後我們可以使用data.info() ,data.discribe()、data.count()檢視資料的整體資訊。
(data.info())
(data.describe())
print(data.count())
data.describe()顯示的是:
data.count()顯示的是:
可以看到資料的值跨度很大,所以我們對資料進行normalization:
keys=x.keys().tolist()我們可以通過keys中列名來有選擇的進行歸一化處理。keys.remove(
"index")
keys.remove(
"label")
for key in
keys:
#將數值範圍限定在-0.5~0.5
#normalize_col=(x[key]-(x[key].max()+x[key].min())/2)/(x[key].max()-x[key].min())
#用mean來normolize
normalize_col = (x[key] - x[key].mean()) / (x[key].max() -x[key].min())
x = x.drop(key, axis=1)
x[key]=normalize_col
有時候,有的不和規範的資料我們想刪掉:
#資料篩選還有其他函式,用到了在慢慢補充吧。刪掉jigan為-1的人
data = data[data["
jigan
"].isin([-1.0]) == false]
pandas的簡單應用與資料匯入
import pandas a pandas.series 8,9,3,1 print a 輸出 下表預設的都是從0開始,在series 裡可以用index 指定下標,下標名必須和列表裡數字的個數一樣。下標 資料 0 8 1 9 2 3 3 1 dtype int64 1 第一種方式 import ...
pandas按條件過濾 Pandas簡單入門
本文作為pandas入門及筆記用途!1.匯入pandas及資料表 import pandas as pd df pd.read csv uk rain 2014.csv header 0 2.更改列標籤及檢視前5行資料 3.查詢資料表行數及維度 df.shape 33,7 len df 4.檢視資料...
Pandas及簡單學習
pandas pandas 是一種列存資料分析 api。它是用於處理和分析輸入資料的強大工具,很多機器學習框架都支援將 pandas 資料結構作為輸入。匯入 pandas api 並輸出相應的 api 版本 from future import print function import panda...