gpt4 book ai didi

python - 规范化 numpy 数组

转载 作者:行者123 更新时间:2023-11-28 19:47:41 25 4
gpt4 key购买 nike

给定一个数组,我想对其进行归一化,使每一行总和为 1。

我目前有以下代码:

import numpy
w = numpy.array([[0, 1, 0, 1, 0, 0],
[1, 0, 0, 0, 0, 1],
[0, 0, 0, 0, 0, 1],
[1, 0, 0, 0, 1, 0],
[0, 0, 0, 1, 0, 1],
[0, 1, 1, 0, 1, 0]], dtype = float)


def rownormalize(array):
i = 0
for row in array:
array[i,:] = array[i,:]/sum(row)
i += 1

我有两个问题:

1) 代码有效,但我想知道是否有更优雅的方法。

2) 如果数据类型是 int,如何将其转换为 float?我试过了

if array.dtype == int:
array.dtype = float

但它不起作用。

最佳答案

你可以 1) 那样做:

array /= array.sum(axis=1, keepdims=True)

和 2) 像那样:

array = array.astype(float)

关于python - 规范化 numpy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40578781/

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