gpt4 book ai didi

python - Numpy unique 将整数更改为字符串

转载 作者:行者123 更新时间:2023-12-05 09:08:15 26 4
gpt4 key购买 nike

我有一个包含字符串和整数列的数据表,例如:

test_data = [('A',1,2,3),('B',4,5,6),('A',1,2,3)]

我需要唯一行,因此我使用了 numpy unique 函数:

summary, repeat = np.unique(test_data,return_counts=True, axis=0)

但之后我的数据类型发生了变化。总结是:

array([['A', '1', '2', '3'],
['B', '4', '5', '6']], dtype='<U1')

所有数据类型现在都是字符串。我怎样才能阻止这种变化? (Python 3.7, numpy 1.16.4)

最佳答案

如果你有 python 对象并且你想将它们保留为 python 对象,请使用 python 函数:

unique_rows = set(test_data)

或者更好的是:

from collections import Counter

rows_and_counts = Counter(test_data)

这些解决方案不复制数据:它们保留对原始元组的引用。 numpy 解决方案多次复制数据:转换为 numpy 时一次,排序时至少一次,转换回来时可能更多次。

这些解决方案的算法复杂度为 O(N),因为它们都使用哈希表。 numpy unique 解决方案使用排序,因此具有 O(N log N) 复杂性。

关于python - Numpy unique 将整数更改为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63685970/

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