1. 程式人生 > >由一個矩陣得到一個掩模矩陣

由一個矩陣得到一個掩模矩陣

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