由一个矩阵得到一个掩模矩阵

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

猜你喜欢

转载自blog.csdn.net/m0_37548423/article/details/85212569
今日推荐