機器學習第二天---資料預處理和清洗
阿新 • • 發佈:2020-10-08
1.numpy.genfromtxt用於處理資料矩陣
numpy.genfromtxt(fname, dtype=<type 'float'>, comments='#', delimiter=None, skip_header=0, skip_footer=0, converters=None, missing_values=None, filling_values=None, usecols=None, names=None, excludelist=None, deletechars=None, replace_space='_', autostrip=False, case_sensitive=True, defaultfmt='f%i', unpack=None, usemask=False, loose=True, invalid_raise=True, max_rows=None)[source]¶
- fname:待處理資料的檔名
- delimiter:資料處理的分割方式
- dtype:資料更改的型別
import numpy as np
import scipy as sp
import matplotlib.pyplot as plt
'''對網路請求資料的處理'''
#資料獲取處理操作
data=np.genfromtxt("F:\SOFT DOWNLOAD\\1400OS_Code\\1400OS_01_Codes\data\web_traffic.tsv",delimiter="\t")
print(data.shape)
(743, 2)
其結果表明此資料中包含有743個二維資料點
2.對無效值的處理
- 對無效值的檢測使用 numpy.isnan()
# coding:utf-8 import numpy as np import scipy as sp import matplotlib.pyplot as plt '''對網路請求資料的處理''' #資料獲取處理操作 data=np.genfromtxt("F:\SOFT DOWNLOAD\\1400OS_Code\\1400OS_01_Codes\data\web_traffic.tsv",delimiter="\t") #採用特殊索引將獲取的二維資料進行分割 x=data[:,0] y=data[:,1] b=np.sum(np.isnan(x)) a=np.sum(np.isnan(y)) print(b,a)
其結果為0,8,表明在網頁的瀏覽資料中出現無效值
- 對無效值的小處理,使用的方法是在邏輯上對陣列取反,使得我們只選擇有效的網頁瀏覽資料
x=x[~np.isnan(y)]
x=y[~np.isnan(y)]