【问题标题】:Numpy array - duplicate removalNumpy数组 - 重复删除
【发布时间】:2018-11-19 01:16:06
【问题描述】:

我有数据集和标签(作为 2 个不同的 csv 文件)。条目被读入 2 个不同的变量(作为列)。我想将它们合并到一个二维数组中并删除重复项,但保留顺序。请建议。使用“set”或“unique”不起作用。

data = np.loadtxt('raw_data.csv',delimiter=',',usecols=range(0,112),skiprows=0)
label = np.loadtxt('labels.csv',delimiter=',',usecols=range(0,112),skiprows=0)
features1 = data[:,0] ##channel 0
features1 = features1.reshape(-1,1)
labels1 = label[:,0]

【问题讨论】:

  • 你能给个minimal reproducible example吗?
  • 我有一组“n”个通道的测量能量水平的数据,在“m”个时间实例中测量。我需要检查通道 1 在时间实例 1 到 m 是否被占用。但是测量的能量水平是重复的。我正在尝试为此使用 scikit-learn。上面提到的例子是通道 0 的验证。

标签: python numpy duplicates


【解决方案1】:

我假设标签可以有重复?您可以使用 np.unique 并返回唯一索引,并通过它们过滤数据值。

import numpy as np

labels = np.array(['a', 'b', 'c', 'b', 'd', 'c', 'a', 'e'])
vals = np.array([1, 2, 3, 4, 5, 6, 7, 8])

unique, unique_idx = np.unique(labels, return_index=True)
filtered_vals = vals[unique_idx]
combined = np.vstack((unique, filtered_vals))
print combined

输出

[['a' 'b' 'c' 'd' 'e']
 ['1' '2' '3' '5' '8']]

【讨论】:

  • 是的,标签可以有重复。谢谢你。它有帮助。
  • 乐于助人。如果答案解决了问题,请考虑通过单击绿色复选标记将其标记为“已接受”。
猜你喜欢
  • 2015-09-14
  • 2019-12-31
  • 2015-03-01
  • 2020-02-08
  • 1970-01-01
  • 1970-01-01
  • 2011-11-18
相关资源
最近更新 更多