Hello,
I am not one of the actual contributors of astroML, let alone an astronomer, so take what I say with a grain of salt. That line of code looks like it expects the
'LINEARobjectID' column of the
geneva data array to be of type
byte that is intended to be decoded to a string. But that column is actually of type int (the
numpy.int64 to be exact), so it does not have a
.decode() method. It seems that there is a mismatch happening in the stored data as the source code of the
fetch_LINEAR_geneva() function used for getting the data assumes that this column is of some sort of string type.
Anyway, since those values are integers, I tried to explicitly convert them into strings (without the need of decoding) and I was able to reproduce the plot. Essentially, I changed the error line to the same form as the one above that uses the targets['objectID']:
genevaIDs = [str(ID).lstrip('0') for ID in geneva['LINEARobjectID']]
Does this work for you? Just keep in mind that I do not know what kind of followup errors this fixup might introduce, even though it seems foolproof enough. It could always be the case that there are some weird cases in the data that are not handled properly this way.
Hope this helps.
Kind regards
--
Kyriakos Stylianopoulos
PhD Student
National and Kapodistrian University of Athens
Greece