"Numpy 二维数组中指定轴的百分比"

2024-06-17 12:43:09 发布

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

我有一个计数矩阵

import numpy as np
x = np.array([[ 1,2,3],[1,4,6],[2,3,7]])

我需要沿轴的百分比=1:

^{pr2}$

以色情广播的形式。在

目前,我有:

x_sums = np.sum(x,axis=1)
for j in range(x.shape[1]):
     x[:,j] = x[:,j] / x_sums[:]

这使得大部分的复杂性都在numpy代码中……但是numpy一行代码将是最好的。在

还有

def percentages(a):
    return a / np.sum(a)

x_percentages = np.apply_along_axis(percentages,1,x)

但这仍然涉及python。在


 np.linalg.norm

是非常接近的,就发生了什么,但他们只有8个硬编码规范,这不包括总数的百分比。在

还有一个np.percentile,它也很接近……但它正在计算排序后的百分位。在


Tags: 代码importnumpyasnp矩阵array计数
2条回答
x /= x.sum(axis=1, keepdims=True)

Altoughx应该有一个浮点数据类型才能正常工作。在

最好是:

^{pr2}$

这是你想要的吗

print (x.T/np.sum(x, axis=1)).T

相关问题 更多 >