繁体   English   中英

如何在Numpy Python中替换数组中的值

[英]How to replace a value in array in numpy python

我在numpy数组中有一个非常基本的问题:

我的数组看起来像这样:

Array = [["id1", "1.0"],["id2", "0.0"]] 

我想读取数组的第二个元素并替换为另一个字符。 就像是

for i in range(0,len(array)):
    if array[i] == "0.0":
        array[i] = "ClassA"
    else
        array[i] = "ClassB"

如何实现这一目标。 我无法正确读取“ 0.0”或“ 1.0”。 请帮忙。

数组中有两个数组。 下面的代码应该工作:

array = [["id1", "1.0"],["id2", "0.0"]]

for item in array:
    if item[1] == "0.0":
        item[1] = "ClassA"
    else:
        item[1] = "ClassB"

你缺少,在你定义数组。 您的数组与此相同: [["id11.0"], ["id20.0"]] (字符串只是串联在一起)。 如果您的数组是numpy数组,则这就是它们表示(打印)的方式。 但这不能作为输入...

从您的代码开始,您可以这样做:

array = [["id1", "1.0"], ["id2", "0.0"]]

for i, (id_, number) in enumerate(array):
    if number == "0.0":
        array[i] = [id_, "ClassA"]
    else:
        array[i] = [id_, "ClassB"]

或者,更优雅的是,使用列表理解:

array = [[id_, "ClassA"] if number == "0.0" else [id_, "ClassB"]  
         for id_, number in array ]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM