gpt4 book ai didi

python - Numpy 2D数组获得总数的百分比

转载 作者:行者123 更新时间:2023-12-04 13:14:19 25 4
gpt4 key购买 nike

我刚开始使用 numpy..

得到下面的 np 表,并想计算每个单元格占列总数的百分比。

data = np.array([[7,16,17], [12,11,3]])
headers = ["Grundskola", "Gymn", "Akademisk"]

# tabulate data
table = tabulate(data, headers, tablefmt="github")

# output
print(table)

| Grundskola | Gymn | Akademisk |
|--------------|--------|-------------|
| 7 | 16 | 17 |
| 12 | 11 | 3 |

到:
|   Grundskola |   Gymn |   Akademisk |
|--------------|--------|-------------|
| 39%| 59% | 85% |
| 61%| 41% | 15% |

我知道 np.sum(data2, axis=0/1) 会给我总数,但我如何使用来计算数组。

数组的大小可以不同...

最佳答案

你可以试试这个。使用 numpy.sum axis = 0并划分数组 data与轴 0 上的总和。

data = np.array([[7, 16, 17],
[12, 11, 3]])

percentages = data/data.sum(axis=0) * 100

percentages
# array([[36.84210526, 59.25925926, 85. ],
# [63.15789474, 40.74074074, 15. ]])
现在,使用这个 percentagestabulate功能。

您可以格式化 mini string language 将它们格式化如下。
perc = data / data.sum(axis=0)
# array([[0.36842105, 0.59259259, 0.85 ],
# [0.63157895, 0.40740741, 0.15 ]])

print(np.array([[f"{i:.2%}" for i in val] for val in perc]))
# [['36.84%' '59.26%' '85.00%']
# ['63.16%' '40.74%' '15.00%']]

关于python - Numpy 2D数组获得总数的百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61888227/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com