Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将值替换为np.where并创建一个整数_Python_Python 3.x_Python 2.7_Numpy - Fatal编程技术网

Python 将值替换为np.where并创建一个整数

Python 将值替换为np.where并创建一个整数,python,python-3.x,python-2.7,numpy,Python,Python 3.x,Python 2.7,Numpy,我有一个这样的清单: my_list = ['apple', 'orange', 'banana'] 我使用np.where将“banana”替换为整数“5”: 但结果是 >> ['apple', 'orange', '5'] 我需要 >> ['apple', 'orange', 5] 我如何才能做到这一点?是否可以使用映射函数来代替 my_list = ['apple', 'orange', 'banana'] list(map(lambda x:5 if x

我有一个这样的清单:

my_list = ['apple', 'orange', 'banana']
我使用
np.where
将“banana”替换为整数“5”:

但结果是

>> ['apple', 'orange', '5'] 
我需要

>> ['apple', 'orange', 5] 

我如何才能做到这一点?

是否可以使用映射函数来代替

my_list = ['apple', 'orange', 'banana']
list(map(lambda x:5 if x=='banana' else x, my_list))

是否可以改用映射函数

my_list = ['apple', 'orange', 'banana']
list(map(lambda x:5 if x=='banana' else x, my_list))

因为您使用的是python列表,所以请坚持使用python。如果需要混合数据类型,这尤其是一个好主意
np。其中
在循环遍历python对象数组时不会特别有效。以下是一个numpy解决方案:

my_list = [5 if x == 'orange' else x for x in my_list]
另外,您可以创建一个索引列表,其中
my_list
包含
'orange'
,类似于
np的1-arg形式。其中使用类似的理解:

indices = [i, for i, x in enumerate(my_list) if x == 'orange']

因为您使用的是python列表,所以请坚持使用python。如果需要混合数据类型,这尤其是一个好主意
np。其中
在循环遍历python对象数组时不会特别有效。以下是一个numpy解决方案:

my_list = [5 if x == 'orange' else x for x in my_list]
另外,您可以创建一个索引列表,其中
my_list
包含
'orange'
,类似于
np的1-arg形式。其中使用类似的理解:

indices = [i, for i, x in enumerate(my_list) if x == 'orange']

您正在使用numpy数组。Numpy的一个基本特性是“Numpy数组中的元素都必须具有相同的数据类型,因此在内存中的大小相同。例外:可以有(Python,包括Numpy)对象数组,从而允许不同大小的元素数组。”(From)好的,我不知道,这解决了我的问题。我只是将所有内容转换为数字(表示为str),然后将整个数组转换为整数。谢谢。如果没有其他问题,您应该选择一个答案将您的问题从未答复队列中删除。向上投票对于帮助过你的人来说也是一个不错的奖励。你正在使用numpy数组。Numpy的一个基本特性是“Numpy数组中的元素都必须具有相同的数据类型,因此在内存中的大小相同。例外:可以有(Python,包括Numpy)对象数组,从而允许不同大小的元素数组。”(From)好的,我不知道,这解决了我的问题。我只是将所有内容转换为数字(表示为str),然后将整个数组转换为整数。谢谢。如果没有其他问题,您应该选择一个答案将您的问题从未答复队列中删除。向上投票对于帮助你的人来说也是一个不错的奖励。