两个数组(一个表示索引,另一个表示重复次数)。我想删除基于重复次数的索引(python)
我正在使用一些数据帧的colab中工作,我有两个numpy阵列: -第一个表示一行的索引。 -另一个表示重复的次数(在这之前我做了一些方法) 如果我同时打印两个数组,我会得到如下结果:两个数组(一个表示索引,另一个表示重复次数)。我想删除基于重复次数的索引(python),python,arrays,numpy,Python,Arrays,Numpy,我正在使用一些数据帧的colab中工作,我有两个numpy阵列: -第一个表示一行的索引。 -另一个表示重复的次数(在这之前我做了一些方法) 如果我同时打印两个数组,我会得到如下结果: print(uniqueValues, occurCount) OUTPUT: [ 13 33 66 ... 99907 99911 99928] [7 1 6 ... 1 6 4] 我们可以解释为:13重复7次,33重复1次 现在的问题是: 如何根据重复次数从两个数组中删除索引和重复 例如:
print(uniqueValues, occurCount)
OUTPUT: [ 13 33 66 ... 99907 99911 99928] [7 1 6 ... 1 6 4]
我们可以解释为:13重复7次,33重复1次
现在的问题是:
如何根据重复次数从两个数组中删除索引和重复
例如:
如果小于5,则拆下滤芯
预期输出:[13 66…99911][7 6…6]您可以使用
占用计数
中的匹配值作为唯一值
和占用计数
的过滤器,使用:
例如:
import numpy as np
uniqueValues = np.array([13, 33, 66, 99907, 99911, 99928])
occurCount = np.array([7, 1, 6, 1, 6, 4])
uniqueValues = uniqueValues[occurCount >= 5]
occurCount = occurCount[occurCount >= 5]
print(uniqueValues )
print(occurCount)
输出:
[ 13 66 99911]
[7 6 6]
您可以使用
occurCount
中的匹配值作为uniqueValues
和occurCount
上的过滤器,方法是:
例如:
import numpy as np
uniqueValues = np.array([13, 33, 66, 99907, 99911, 99928])
occurCount = np.array([7, 1, 6, 1, 6, 4])
uniqueValues = uniqueValues[occurCount >= 5]
occurCount = occurCount[occurCount >= 5]
print(uniqueValues )
print(occurCount)
输出:
[ 13 66 99911]
[7 6 6]
将返回一个带结果的2维数组。但逻辑与尼克指出的是一样的
将返回一个带结果的2维数组。但逻辑与Nick所指出的相同。创建一个新数组,在该数组中,您将为符合标准的占用计数值添加索引创建一个新数组,在该数组中,您将为符合标准的占用计数值添加索引。您可以为UniqueValue和占用计数显示输入吗?您可以为其显示输入吗uniqueValues和occurCount?欢迎使用堆栈溢出。请您的回答解释此代码的作用以及它如何回答问题,以便对OP以及具有类似问题的其他用户有用。对于堆栈溢出,不鼓励使用仅代码的答案,因为它们没有解释如何解决问题。欢迎使用堆栈溢出。请您的回答解释此代码的作用以及它如何回答问题,以便对OP以及具有类似问题的其他用户有用。对于堆栈溢出,不鼓励使用仅代码的答案,因为它们没有解释堆栈溢出是如何解决问题的。
import numpy as np
uniqueValues = np.array([13, 33, 66, 99907, 99911, 99928])
occurCount = np.array([7, 1, 6, 1, 6, 4])
indexes = []
for index, item in enumerate(y):
if item < 5:
indexes.append(index)
y = np.delete(y, indexes)
x = np.delete(x, indexes)
print(x, y)