gpt4 book ai didi

python - 重新分配 numpy.array()

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

在下面的代码中,我可以轻松地减少数组 ['a','b','a','c','b','b','c','a']到一个二进制数组 [0 1 0 1 1 1 1 0]以便 'a' -> 0'b','c' -> 1 .如何将其转换为三元数组,以便 'a' -> 0 , 'b' -> 1 , 'c' -> 2 , 不使用 forif-else ?谢谢。

import numpy as np
x = np.array(['a', 'b', 'a', 'c', 'b', 'b', 'c', 'a'])
y = np.where(x=='a', 0, 1)
print(y)

最佳答案

通过做:

np.where(x == 'a', 0, (np.where(x == 'b', 1, 2)))
请注意,这会将所有既不是 'a' 也不是 'b' 的字符更改为 2。我假设您只有一个包含 a、b 和 c 的数组。

关于python - 重新分配 numpy.array(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63310069/

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