[英]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.