python 如何计算pandas中的行百分比?

t30tvxxf  于 2023-05-16  发布在  Python
关注(0)|答案(2)|浏览(117)

我想计算每列的周百分比。
第5周的结果如下:

Week    1  2 a 4   5  6 a 9  10  10+
3       2      2   1      0   0    0
4      44     68  18     33   4   27
5     198    313  70    142  20  259

我希望看到所有dataframe行的每个组的百分比。

Week    1  2 a 4   5  6 a 9  10  10+
5.    20%    31%  7%    14%  2%  26%
zy1mlcev

zy1mlcev1#

有了周作为索引,你可以这样做:

(df.T/df.sum(axis=1)).T*100
46scxncf

46scxncf2#

IIUC,您可能需要:

tmp = df.set_index('Week')

out = tmp.div(tmp.sum(axis=1), axis=0).mul(100).round().reset_index()

输出:

Week     1  2 a 4     5  6 a 9   10   10+
0     3  40.0   40.0  20.0    0.0  0.0   0.0
1     4  23.0   35.0   9.0   17.0  2.0  14.0
2     5  20.0   31.0   7.0   14.0  2.0  26.0

相关问题