Converting ns/as-precisiong datetime64 to datetime.datetime results in integer:
datetime.datetime does not support nanoseconds (see issue). When numpy casts it should round or raise an error, instead it silently returns int:
In [186]: numpy.datetime64("1985-08-13", "us").astype(datetime.datetime)
Out[186]: datetime.datetime(1985, 8, 13, 0, 0)
In [187]: numpy.datetime64("1985-08-13", "ns").astype(datetime.datetime)
Out[187]: 492739200000000000
In [189]: numpy.datetime64("1985-08-13", "as").astype(datetime.datetime)
Out[189]: -8200712707674996736