日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

数据预处理:读取文件数据,并存为python数组

發布時間:2024/9/15 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据预处理:读取文件数据,并存为python数组 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文件的簡單讀取

# 定義一個將文件中的數據轉化為數組的類 import numpy as np class DataUtil: # ============================================================================= # 從文件中讀取數據 # 5個參數:數據集的名稱,數據集的路徑,訓練樣本數,類別所在列,是否打亂數據 # =============================================================================def get_dataset(name,path,train_num=None,tar_index=None,shuffle=True):x =[]# 將編碼設置為utf-8with open(path,"r",encoding="utf-8") as file:# 如果是氣球數據集的話,使用逗號分割數據if "balloon" in name:# 文件讀取是一行一行讀取的for sample in file:# 一行數據就是一個數組,strip()去空格,split(",")以逗號分隔x.append(sample.strip().split(","))# 默認打亂數據if shuffle:np.random.shuffle(x)# 默認類別在最后一列tar_index = -1 if tar_index is None else tar_indexy = np.array([xx.pop(tar_index) for xx in x])x = np.array(x)# 默認是全部訓練樣本if train_num is None:return x,y# 若傳入了訓練樣本樹,則分為訓練集和測試集return (x[:train_num],y[:train_num]),(x[train_num:],y[train_num:])

測試:

原始數據:

黃色,,成人,用手打,不爆炸 黃色,,成人,用腳踩,爆炸 黃色,,小孩,用手打,不爆炸 黃色,,小孩,用腳踩,不爆炸 黃色,,成人,用手打,爆炸 黃色,,成人,用腳踩,爆炸 黃色,,小孩,用手打,不爆炸 黃色,,小孩,用腳踩,爆炸 紫色,,成人,用手打,不爆炸 紫色,,小孩,用手打,不爆炸 紫色,,成人,用腳踩,爆炸 紫色,,小孩,用腳踩,爆炸

測試結果

_x,_y = DataUtil.get_dataset("balloon1.0","_Data/balloon1.0.txt") print(_x) print(_y) runfile('D:/share/test/Util.py', wdir='D:/share/test') [['黃色' '大' '成人' '用腳踩']['黃色' '小' '小孩' '用手打']['黃色' '小' '成人' '用手打']['紫色' '小' '成人' '用手打']['紫色' '小' '小孩' '用手打']['紫色' '大' '小孩' '用腳踩']['紫色' '大' '成人' '用腳踩']['黃色' '小' '成人' '用腳踩']['黃色' '小' '小孩' '用腳踩']['黃色' '大' '成人' '用手打']['黃色' '大' '小孩' '用手打']['黃色' '大' '小孩' '用腳踩']] ['爆炸' '不爆炸' '不爆炸' '不爆炸' '不爆炸' '爆炸' '爆炸' '爆炸' '不爆炸' '爆炸' '不爆炸' '爆炸']

另外一種:

def loadDataSet(fileName):"""加載數據集:param fileName::return:"""dataMat = []; labelMat = []fr = open(fileName)for line in fr.readlines():lineArr = line.strip().split('\t')dataMat.append([float(lineArr[0]), float(lineArr[1])])labelMat.append(float(lineArr[2]))return dataMat,labelMat

總結

以上是生活随笔為你收集整理的数据预处理:读取文件数据,并存为python数组的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。