Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.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 如何删除numpy数组中的重复项(包括字符串)?_Python_Numpy_Unique - Fatal编程技术网

Python 如何删除numpy数组中的重复项(包括字符串)?

Python 如何删除numpy数组中的重复项(包括字符串)?,python,numpy,unique,Python,Numpy,Unique,我想从numpy数组中删除重复项 >data = np.array([[1,"a",3,3,4], [1,8,9,9,4], [1,"a",3,3,4]]) >new_array = [tuple(row) for row in data] >uniques = np.unique(new_array) >uniques output: array(['1', '3', '4', '8', '9'

我想从numpy数组中删除重复项

>data = np.array([[1,"a",3,3,4],
                  [1,8,9,9,4],
                  [1,"a",3,3,4]])

>new_array = [tuple(row) for row in data]
>uniques = np.unique(new_array)
>uniques

output: array(['1', '3', '4', '8', '9', 'a'], dtype='<U1')

我该怎么做?谢谢。

使用
vstack

print(np.vstack({tuple(row) for row in data}))
输出:

[['1' 'a' '3' '3' '4']
 ['1' '8' '9' '9' '4']]

因为numpy不支持混合类型的数据,所以不能将它们设为整数。

numpy不擅长处理具有混合数据类型的数组,那么改用pandas
drop\u duplicates
如何

import pandas as pd

data = [[1,"a",3,3,4],[1,8,9,9,4], [1,"a",3,3,4]]
pd.DataFrame(data).drop_duplicates().values

# array([[1, 'a', 3, 3, 4],
#        [1, 8, 9, 9, 4]], dtype=object)

谢谢,我试过了,但它仍然返回
array([[1',a',3',3',4',1',8',9',9',4']],dtype=object)
@user9191983请使用
data=np.array([[1,a',3,3,4],[1,8,9,4],[1,a',3,3,4]],dtype=object来初始化您的数据,否则它就不起作用了!谢谢,你给了我比你真正想的更多的建议@用户9191983不客气!如果你觉得有帮助,也可以,谢谢!
import pandas as pd

data = [[1,"a",3,3,4],[1,8,9,9,4], [1,"a",3,3,4]]
pd.DataFrame(data).drop_duplicates().values

# array([[1, 'a', 3, 3, 4],
#        [1, 8, 9, 9, 4]], dtype=object)