1. ホーム
  2. python

[解決済み] 'ラベル[0]が[インデックス]にない'

2022-02-14 12:27:58

質問

Pythonで以下のコードを発行したとき、myfunは私の関数の名前、Bはパンダのデータフレームです。

myfun(B,10)

関数内のこの行でエラーになります。

A=(data.loc[ii]>=A1) & (data.loc[ii]<A2)

ここで、B と data は同じで、A1 と A2 は数字です。 エラーは以下の通りです。

'the label [0] is not in the [index]'

私はあなたのウェブサイトをすべて読みましたが、私のケースには当てはまりません。

どなたか、どこに問題があり、どうすれば解決できるか教えていただけませんか? ラベル[0]が[index]にないとはどういうことでしょうか?

どうすればいいですか?

からの pandas のドキュメントを参照してください。

データフレーム.loc

ラベルまたはブーリアン配列で、行と列のグループにアクセスします。 .loc[]は主にラベルベースであるが、ブーリアン配列も使用できる。 可能な入力は以下の通りです。

  • 5や'a'などのラベル。 インデックス)。

  • ラベルのリストあるいは配列、例えば ['a', 'b', 'c'] です。

  • a':'f' のようなラベルを持つスライスオブジェクトです。

  • スライスされる軸と同じ長さのブーリアン配列 (例 : [真、偽、真])。

  • 1つの引数(呼び出したSeries、DataFrame、またはPanel)を持つ呼び出し可能な関数で、インデックス作成に有効な出力(以下のいずれか)を返します。 上記)

と推測されるので ii は整数型なので df.iloc の代わりに

A = (data.iloc[ii] >= A1) & (data.iloc[ii] < A2)