機器學習離不開資料,資料分析離不開pandas。
首先,我們拿到乙個excel表,我們將之另存為csv檔案。因為檔案是實驗室的資源,我就不分享了。
首先是檔案讀取
def load_csv(filename):
data=pd.read_csv(filename)
data = data.drop(data.columns[39:], axis=1)
return data
我們呼叫read_csv檔案可以直接讀取csv檔案。其返回值為dataframe。excel如果橫向拖動太多的話,會生成很多空列。這裡我們通過drop方法刪掉39列之後的列。
然後pandas為了讓顯示美觀,會在輸出資訊的時候自動隱藏資料。我們調整引數,使資料全部顯示。
pd.set_option('display.max_rows', 10)
pd.set_option('display.max_columns', 500)
pd.set_option('display.width', 500)
設定最多顯示10行,500列。寬度為500.
使用 data.head()可以檢視前4行的資料。
print(data.head())
可以看到全部資料都被顯示出來了。然後我們可以使用data.info() ,data.discribe()、data.count()檢視資料的整體資訊。
print(data.info())
print(data.describe())
print(data.count())
可以看到資料的值跨度很大,所以我們對資料進行normalization:
keys=x.keys().tolist()
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
我們可以通過keys中列名來有選擇的進行歸一化處理。
有時候,有的不和規範的資料我們想刪掉:
#刪掉jigan為-1的人
data = data[data["jigan"].isin([-1.0]) == false]
使用pandas處理CSV檔案
import csv import numpy as np import pandas as pd data path test.csv 檔案路徑 讀csv data pd.read csv data path print 返回資料格式 type data col labels np.array d...
pandas讀取csv檔案
import pandas as pd pd.set option display.max columns none 在pycharm下可以顯示所有列 pd.set options display.max rows none 在pycharm下可以顯示所有行 給每一列命名,注意第一行的設定 data...
pandas讀取csv檔案
1.匯入的包 import pandas as pd import numpy as np 2.讀取檔案我主要使用的是csv檔案格式,內容為如下 將資料加入到指定路徑中,然後進行讀檔案 def read csv path f open path,encoding utf 8 read data pd...