i[:5.5]
は、明らかな意味を持っていません。
i[:5]
は、配列(またはリスト)の最初の5つの要素を意味します。 i[:6]
最初に6. 5.5
とは何が関係していますか? floor(5.5)
?天井? 5と半分の要素を返しますか? 5要素と5と6の間の線形補間?
実際:5.5
作品(1.11)が、警告して:あなたの構造化された配列で
In [346]: np.arange(10)[:5]
Out[346]: array([0, 1, 2, 3, 4])
In [347]: np.arange(10)[:5.5]
/usr/local/bin/ipython3:1: VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future
#!/usr/bin/python3
Out[347]: array([0, 1, 2, 3, 4])
、レコードインデックスは、同じように動作します:
In [349]: i = np.array([(5.,1), (6.,2)], dtype=[('foo', 'f4'),('bar', 'i4')])
In [350]: i[:5]
それは終わりを超えてスライスする大丈夫です - それはただすべてを返します。
Out[350]:
array([(5.0, 1), (6.0, 2)],
dtype=[('foo', '<f4'), ('bar', '<i4')])
In [351]: i[:5.5]
/usr/local/bin/ipython3:1: VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future
#!/usr/bin/python3
Out[351]:
array([(5.0, 1), (6.0, 2)],
dtype=[('foo', '<f4'), ('bar', '<i4')])
================ numpy
で
インデックスはカウントだけの方法です。インデックスまたはラベリングリストまたは配列はありません。それはpandas
が追加したものですが、numpy
の一部ではありません。 i
配列では、フィールドの名前は次のとおりです。 i['foo']
。列見出しのように見えますが、構造化フィールドと2d列を混同することは危険です。
浮き*スライスしたいようです。 –