1. ホーム
  2. コンパイラ言語
  3. パイソン

[python np.where] - error:raise ValueError(ValueError: Length of values does not match length of index) エラー。

2022-01-21 12:21:53

記事目次

データソースのデータです。

エラー報告コード

import pandas as pd
import numpy as np

data['Is A'] = np.where( data[data['grade'] == 'A'], 1,0)


エラーを報告する。

raise ValueError(ValueError: Length of values does not match length of index)

コードターゲット

  1. データに新しいカラムを追加する
    data['Is A'] =
  2. 各データについて、このデータの成績欄がAであれば、"Is it A"は1を返し、そうでなければ0を返す
    np.where(data['grade'] == 'A', 1,0)
    

ソリューションのアイデア

を置く。 data[data['grade'] == 'A'] で置き換える。

data['grade'] == 'A'

  • 正しいコード
import pandas as pd
import numpy as np

data['Is A'] = np.where(data['Grade'] == 'A', 1,0)


エラー報告の理由

  • np.whereの入力変数の性質が正しくない

    np.where ( judgment logic, value returned if logic validates to True, value returned if logic validates to False )
    
    Judgment logic
    
    

    data['grade'] == 'A' 真と偽の論理系列を出力する方程式であること。

  • data[data['grade'] == 'A'] data['grade'] == 'A' 違い

    • data[data['grade'] == 'A'] ブール値系列を返す
    • data[data['grade'] == 'A'] DataFrameテーブルに戻る