【发布时间】:2019-04-11 14:03:15
【问题描述】:
我需要将矩阵 (mat) 除以向量 (rowSums)
我的矩阵是一个数据框:
mat = pd.DataFrame(
data=[
(1,0,0,0),
(1,1,1,0),
(0,0,1,0),
(0,1,0,0),
(1,0,1,0)],
columns=['ind_1','ind_2','ind_3','ind_4'],
index=['ct1','ct2','ct3','ct4','ct5'])
向量是:
rowSums = mat.sum(axis=1)
rowSums 是:
ct1 1
ct2 3
ct3 1
ct4 1
ct5 2
dtype: int64
我需要划分 mat / rowSums 但我找不到方法。
我正在尝试从 R 复制此命令:
b = (mat / rowSums(mat))
我需要得到以下结果:
ind_1 ind_2 ind_3 ind_4
[ct1,] 1.0000000 0.0000000 0.0000000 0
[ct2,] 0.3333333 0.3333333 0.3333333 0
[ct3,] 0.0000000 0.0000000 1.0000000 0
[ct4,] 0.0000000 1.0000000 0.0000000 0
[ct5,] 0.5000000 0.0000000 0.5000000 0
【问题讨论】:
标签: python r dataframe matrix matrix-multiplication