【问题标题】:Replace elements in an array (python) [duplicate]替换数组中的元素(python)[重复]
【发布时间】:2018-11-25 06:46:19
【问题描述】:

我有一个数组:

y=['a','s','d','a','f','d','g']

我想用整数替换这个数组的所有元素。 我认为一个简单的解决方案是执行以下操作:

c = np.unique(y)

然后将 y 中的所有元素替换为它们在 c 中的索引。 我可以像这样进行元素比较:

for n, i in enumerate(c):
    for m, j in enumerate(y):
        if i == j:
            y[m] = n

输出:

 y=[0, 4, 1, 0, 2, 1, 3]

但是是否有一个 numpy 函数可以以紧凑的方式执行此操作?

【问题讨论】:

    标签: python arrays numpy


    【解决方案1】:
    y = [c.tolist().index(i) for i in y]
    

    【讨论】:

    • 只需使用return_inverse=True 作为np.unique 的参数。
    • 嘿@JanChristophTerasa,听起来不错。谢谢:)
    猜你喜欢
    • 1970-01-01
    • 2022-06-22
    • 1970-01-01
    • 2012-01-16
    • 2023-01-10
    • 2018-03-30
    • 1970-01-01
    • 1970-01-01
    • 2021-08-23
    相关资源
    最近更新 更多