繁体   English   中英

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

[英]numpy.unique doesn't give the expected output

我有一个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个唯一值? 当然不是!

我该怎么做才能获得唯一值的数量?

谢谢,

你应该在调用unique之前使用astype(int) ,而不是之后。

这是一样的(唯一应用于原始数据类型):

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

as this(独特应用于int):

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

注意:注意后者as type 之前的应用方式: all_data[:, 3].astype(int)调用唯一

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM