numpy数组-重复删除

时间:2018-11-19 01:16:07

标签: python numpy duplicates

我有数据集和标签(作为2个不同的csv文件)。条目被读入2个不同的变量(作为列)。我想将它们合并为2D数组并删除重复项,但保留顺序。请提出建议。使用“设置”或“唯一”无效。

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]

1 个答案:

答案 0 :(得分:0)

我认为标签可以重复吗?您可以使用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']]
相关问题