由一個矩陣得到一個掩模矩陣
阿新 • • 發佈:2018-12-25
1.假設有一個不完整的資料,如下
20 | 30 | 25 | 1 | |
5 | 18 | 3 | 0 | |
3 | 17 | 8 | 10 | 0 |
23 | 29 | 30 | 1 | |
12 | 18 | 15 | 0 |
import pandas as pd import numpy as np """read data""" data = pd.read_csv('data.csv') A = np.isnan(data) #get a matrix (True and False) M = 1.*~A #M is a matrix (0 and 1), 0 reprents nan, 1 reprents complete
以上程式碼A是對資料做一個判斷,得到一個True False矩陣,其中True代表資料缺失,False代表未缺失。
我們要得到一個掩模矩陣M,1代表資料未缺失,0代表資料缺失,所以要對A取反~A
2.有時候也可以隨即生成一個數據,根據生成的資料得到一個矩陣,使其中大於某一個值為1,小於某一個值為0
import numpy as np
A = np.random.uniform(0., 1., size = [10,9])
AA = A>0.5
B = 1.*AA
A是隨機生成的一個10行9列的0-1之間符合的均勻分佈矩陣,當A中值大於0.5時,令B元素為1,否則為0