gpt4 book ai didi

python - 从 numpy 数组中删除特定元素

转载 作者:行者123 更新时间:2023-12-01 06:42:36 28 4
gpt4 key购买 nike

我有一个 np.array 我想根据元素“名称”而不是索引删除特定元素。 np.delete() 可以做到这种事情吗?

即我原来的ndarray是

textcodes= data['CODES'].unique()

捕获给定季度的唯一文本代码。

具体来说,我想删除需要通过单独进程运行的某些代码,并将它们放入单独的 ndarray 中

sep_list = np.array(['SPCFC_CODE_1','SPCFC_CODE_2','SPCFC_CODE_3','SPCFC_CODE_4])

我无法找到从 textcodes 中删除 sep_list 中这些特定代码的解决方案,因为我不知道这些 sep_list 代码的确切位置将被索引,因为每个季度都会有所不同,我想根据具体名称将其自动化,因为这些名称始终是相同的。

非常感谢任何帮助。谢谢。

最佳答案

您应该能够执行以下操作:

import numpy as np

data = [3,2,1,0,10,5]
bad_list = [1, 2]
data = np.asarray(data)
new_list = np.asarray([x for x in data if x not in bad_list])

print("BAD")
print(data)
print("GOOD")
print(new_list)

产量:

BAD
[ 3 2 1 0 10 5]
GOOD
[ 3 0 10 5]

由于您没有提供示例数据,因此无法确定,但使用您的变量的以下实现应该可以工作:

import numpy as np

textcodes= data['CODES'].unique()
sep_list = np.array(['SPCFC_CODE_1','SPCFC_CODE_2','SPCFC_CODE_3','SPCFC_CODE_4'])

final_list = [x for x in textcodes if x not in sep_list]

关于python - 从 numpy 数组中删除特定元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59379307/

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