0
假设我有整数值的矩阵。我想使它成为随机矩阵(即矩阵中每行的总和等于1)整数矩阵到随机矩阵归一化
我创建了随机矩阵,计算每行的总和并将行中的每个元素划分为行总和。
dt = pd.DataFrame(np.random.randint(0,10000,size=10000).reshape(100,100))
dt['sum_row'] = dt.sum(axis=1)
for col_n in dt.columns[:-1]:
dt[col_n] = dt[col_n]/dt['sum_row']
之后,每一行的总和应该等于1.但事实并非如此。
(dt.sum_row_normalized == 1).value_counts()
> False 75
> True 25
> Name: sum_row_normalized, dtype: int64
据我所知,有些值并不完全是1,但非常接近它。不过,我怎样才能正确地标准化矩阵?
注意'3/2 == 1'在Python 2.尝试转换的两个数字中的一个分工'float'first:'dt [col_n]/float(dt ['sum_row'])'。 –