やりたいこと
以下を実行すると
[in]
import numpy as np
print(np.logspace(0, 3, 4))
print(type(np.logspace(0, 3, 4)[0]))
以下のように、float64型になってしまうが、整数型に変換したい。
[out]
[ 1. 10. 100. 1000.]
<class 'numpy.float64'>
動作環境
jupyter Lab
Python3.6
numpy
方法
追記。1つ目。
[in]
x = np.logspace(0, 3, 4, dtype=int)
print(x)
print(type(x[0]))
[out]
[ 1 10 100 1000]
<class 'numpy.int64'>
コメントありがとうございます。
2つ目。numpy.arrayオブジェクトを利用して、第2引数にdtype=intと指定する方法。1つ目のやり方でやりましょう。
[in]
x = np.array(np.logspace(0, 3, 4), dtype=int)
print(x)
print(type(x[0]))
[out]
[ 1 10 100 1000]
<class 'numpy.int64'>
3つ目。astypeをメソッドチェインで利用する。1つ目のやり方やりましょう。
[in]
y = np.logspace(0, 3, 4).astype(np.int64)
print(y)
print(type(y[0]))
[out]
[ 1 10 100 1000]
<class 'numpy.int64'>
そもそもの発端
以下のエラーが出たので、解決するために以上の方法を行った。
ValueError: n_estimators must be an integer, got <class 'numpy.float64'>.