数据预处理:原始数据集快速分类的方法,numpy的使用技巧,数据的row=mask的column
生活随笔
收集整理的這篇文章主要介紹了
数据预处理:原始数据集快速分类的方法,numpy的使用技巧,数据的row=mask的column
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
問題
假如數(shù)據(jù)集有3類,怎么把一個(gè)龐大的數(shù)組集3類,放在不同的數(shù)組里。
分析
首先龐大數(shù)據(jù)集分類,肯定不能一個(gè)一個(gè)遍歷,而且強(qiáng)烈避免個(gè)人的操作,需要借助于numpy處理。
示例
數(shù)據(jù)集,可以看出數(shù)據(jù)集為3類,我們要x也分成3類
x = [[1,2],[2,9],[3,9],[4,4],[5,9],[6,6],[7,7],[8,8],[9,9]] y = [0, 0, 0, 1, 1, 1, 2, 2, 2]先轉(zhuǎn)化為numpy
x = np.array([[1,2],[2,9],[3,9],[4,4],[5,9],[6,6],[7,7],[8,8],[9,9]]) y = np.array([0, 0, 0, 1, 1, 1, 2, 2, 2]) x array([[1, 2],[2, 9],[3, 9],[4, 4],[5, 9],[6, 6],[7, 7],[8, 8],[9, 9]])y array([0, 0, 0, 1, 1, 1, 2, 2, 2])得到每個(gè)類別在y中的標(biāo)記,也可以說是在x中的標(biāo)記,value是指類別的名稱或者ID,3個(gè)類別得到3個(gè)標(biāo)記數(shù)組
labels = [y == value for value in range(3)] print(labels) [array([ True, True, True, False, False, False, False, False, False]), array([False, False, False, True, True, True, False, False, False]), array([False, False, False, False, False, False, True, True, True])]根據(jù)標(biāo)記數(shù)組得到,對(duì)應(yīng)x中的3組數(shù)據(jù),記住這里應(yīng)該是x的row=mask的column,假如x是一維的,x的column=mask的column也可以自適應(yīng)。
t = [x[ci] for ci in labels] print(t) [array([[1, 2],[2, 9],[3, 9]]), array([[4, 4],[5, 9],[6, 6]]), array([[7, 7],[8, 8],[9, 9]])]#%% # 假如x是一維的,x的column=mask的column也可以自適應(yīng)。 t1 = [y.T[ci] for ci in labels] print(t1) t2 = [y[ci] for ci in labels] print(t2) [array([0, 0, 0]), array([1, 1, 1]), array([2, 2, 2])] [array([0, 0, 0]), array([1, 1, 1]), array([2, 2, 2])]以上都是numpy內(nèi)部的函數(shù)處理快。
總結(jié)
以上是生活随笔為你收集整理的数据预处理:原始数据集快速分类的方法,numpy的使用技巧,数据的row=mask的column的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: list(map(list,zip(*a
- 下一篇: 数据预处理:读取文件数据,并存为pyth