【Numpy】インデックスに浮動小数点が使える
実はnumpyのインデックス指定は、float型(浮動小数点)も使えました! ってお話。
自動で型変換してくれていました。。。
こんな時はエラーを返してほしいよね…。
まぁ、変数管理のできていなかった俺が悪いんだけど。
以下、詳細
numpyはインデックス指定でデータを取り出せる。
import numpy
array = numpy.arange(9).reshape([3,3])
print(array)
>> numpy.array([[0,1,2]
,[3,4,5]
,[6,7,8]])
print(array[1,2])
>> 5
こんな感じ。
リストでも
list = [0,1,2,3,4,5]
print(list[2])
>> 2
って機能が あるけど、それと同じような使い方ができる。
で、リストの場合、
list[2.3]
みたいにするとエラーが出る。インデックスにfloat型は指定できませんと。
でも、numpyの場合…
array[2.3] ・・・ (1)
array[2] ・・・ (2)
array[int(2.3)] ・・・ (3)
とすると、インデックスは自動で型変換がされる。つまり、(1)と(2)と(3)の結果は同じ!!!
小数点は切り捨てられる。
今回は、このために期待した結果が出ず、悩んでしまった・・・。