numpy.unique没有给出预期的输出

时间:2016-03-01 15:25:12

标签: python arrays numpy

我有一个numpy数组。当我以这种方式打印时;

print len(numpy.unique(all_data[:, 3]).astype(int))

我得到6278.但是当我使用numpy.amax和numpy.amin打印同一数组的最小和最大int值时;

print numpy.amax(numpy.unique(all_data[:, 3]).astype(int))
print numpy.amin(numpy.unique(all_data[:, 3]).astype(int))

我得到286和0.是否有可能在0和286之间有6278个唯一值?当然不是!

如何获取唯一值的数量?

谢谢,

1 个答案:

答案 0 :(得分:2)

您应该在调用unique之前使用Warning in install.packages : download had nonzero exit status Warning in install.packages : download of package ‘curl’ failed ,而不是之后。

相同(唯一应用于原始数据类型):

astype(int)

as this(unique to applied to intts):

print numpy.amax(numpy.unique(all_data[:, 3]).astype(int))
print numpy.amin(numpy.unique(all_data[:, 3]).astype(int))

注意:请注意后者print numpy.amax(numpy.unique(all_data[:, 3].astype(int))) print numpy.amin(numpy.unique(all_data[:, 3].astype(int))) 如何应用之前as type调用唯一