python:如何将矩阵(dataframe)除以向量(dataframe)

2024-09-29 23:15:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要将矩阵(mat)除以向量(行和)

我的矩阵是一个数据帧:

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)

行和是:

ct1    1
ct2    3
ct3    1
ct4    1
ct5    2
dtype: int64

我需要把垫子/行和分开,但我找不到路

我正试图从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

Tags: columns数据dataframedata矩阵向量pdind

热门问题