Pythonパンダ:位置インデクサーは.ilocでは範囲外です

2020-03-26 python pandas indexing

df.tail()は次を返します:

35114   False   False   0.0 False   False   0.0 False   False   0.0 0.0 0.0 False   
35115   False   False   0.0 False   False   0.0 False   False   0.0 0.0 0.0 False   
35116   False   False   0.0 False   False   0.0 False   False   0.0 0.0 0.0 False   
35117   False   False   0.0 False   False   0.0 False   False   0.0 0.0 0.0 False   
35118   False   False   0.0 False   False   0.0 False   False   0.0 0.0 0.0 False

df.iloc [35118]は次を返します:

IndexError: single positional indexer is out-of-bounds

df.iloc [[35118]]は次を返します:

IndexError: positional indexers are out-of-bounds

df.iloc [[10]]は次を返します:

10   False   False   0.0   False   ....

私がやろうとしている.astype(int)を気にしないでください、明らかに存在するインデックスを介してこのインデックスを作成できないのはなぜですか?

df.index [-10:]は次を返します:

Int64Index([35109, 35110, 35111, 35112, 35113, 35114, 35115, 35116, 35117,
            35118], dtype='int64')

Answers

iloc [n]を使用して行にアクセスしようとする場合、番号( n )は 行数より少ない 。この場合、アクセスしようとします 0から始まり、その位置 (インデックス値ではない)を渡す行。

実行を開始します: df.index.sizeと表示された数値は、 あなたが持っている多くの行。

どうやら、DataFrameの行番号は以下です 渡した番号(一部のインデックス値が欠落しています)。

一方、 loc [n]でも行にアクセスできますが、今回は インデックス

したがって、たとえばdf.loc[35118]は、指定された値に等しいインデックスを持つ行を返します。 あなたの場合、最後の行。

Related