最後の数値は a long(任意精度の整数に対する Python の名前) であり、NumPy では明らかに処理できません。
>>> type(100000000000000000000)
<type 'long'>
>>> type(np.int(100000000000000000000))
<type 'long'>
>>> np.int64(100000000000000000000)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
OverflowError: Python int too large to convert to C long
これAttributeErrorは、NumPy が、処理方法がわからない型を見て、デフォルトsqrtでオブジェクトのメソッドを呼び出すために発生します。しかし、それは存在しません。だから、それnumpy.sqrtが欠けているわけではありませんがlong.sqrt.
対照的に、math.sqrtについて知っていlongます。NumPy で非常に大きな数を処理する場合は、可能な限り float を使用してください。
EDIT : わかりました、あなたは Python 3 を使用しています。そのバージョンではintとの区別long はなくなりましたが、NumPy は、使用PyLongObjectして C に正常に変換できるa とできない a の違いにまだ敏感です。longPyLong_AsLong