データフレームエラー:UndefinedVariableError:名前が定義されていません

user9762321

私はjupyterノートブックで作業しており、列に2つの異なる回答のオブジェクトを作成しようとしています。すべての「はい」の応答と「いいえ」の応答の類似性を確認するため。

次のコードを使用すると、次のようなエラーが発生します。UndefinedVariableError:name'No 'is not defined

df_yes=df.query('No-show == \"Yes\"')
df_no=df.query('No-show == \"No\"')

df_yesのみを含めても同じエラーが発生するため、列名「No-show」と関係があると考えました。だから私は別の列でそれを試しました、そして確かに、それはうまくいきます。

それで、誰かが私がこのコードブロックで間違っていることを教えてくれるので、私はそれを二度としないでしょうか?ありがとう!

Zehanort

この例を観察してください:

>>> import pandas as pd
>>> d = {'col1': ['Yes','No'], 'col2': ['No','No']}
>>> df = pd.DataFrame(data=d)
>>> df.query('col1 == \"Yes\"')
  col1 col2
0  Yes   No
>>> df.query('col2 == \"Yes\"')
Empty DataFrame
Columns: [col1, col2]
Index: []
>>> 

すべてが期待どおりに機能しているようです。しかし、私が変更した場合col1col2するcol-1col-2、それぞれ:

>>> d = {'col-1': ['Yes','No'], 'col-2': ['No','No']}
>>> df = pd.DataFrame(data=d)
>>> df.query('col-1 == \"Yes\"')
...
pandas.core.computation.ops.UndefinedVariableError: name 'col' is not defined

ご覧のとおり、問題は-列名に使用するマイナス()です。実際のところ、Noエラーメッセージでは列のNo-showNoではなく参照しているためさらに不運でした

したがって、最善の解決策(および一般的なベストプラクティス)は、列に別の名前を付けることです(少なくとも、Pythonでは、変数の名前にマイナスを含めることはできません)。たとえば、No_showこのデータフレームが自分で作成されていない場合(たとえば、csvファイルからデータを読み取る場合)、列の名前を適切変更するのが一般的な方法です。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Python名エラー。Pandasデータフレームの使用中に名前が定義されていません

分類Dev

JSF-XHTMLフォームで「名前にタグが定義されていません:validateRequired」エラー

分類Dev

NameError:名前 'エラー'が定義されていません

分類Dev

名前エラー-名前が定義されていません-Python3.6.2

分類Dev

名前エラー:名前 'get_ipython'が定義されていません

分類Dev

Tkinterのトラブル-名前フレームが定義されていません

分類Dev

名前エラー名「getName」が定義されていません

分類Dev

Python クラス: ラムダ名エラー - 名前が定義されていません

分類Dev

Python EXECショーエラー:名前が定義されていません

分類Dev

Pythonコード、名前が定義されていませんエラー

分類Dev

ファイルブラウザの設定エラー:名前「設定」が定義されていません

分類Dev

Kerasチュートリアルエラー:NameError:名前 'レイヤー'が定義されていません

分類Dev

Django認証モデルエラー:名前「ユーザー」が定義されていません

分類Dev

python turtle名前エラー:形状が定義されていません

分類Dev

djangoエラーNameError:名前 'DEBUG'が定義されていません

分類Dev

名前(変数名)が定義されていませんエラー

分類Dev

C ++エラー:名前空間で出力が定義されていません

分類Dev

名前エラー「html」がbeautifulsoup4で定義されていません

分類Dev

kerasのエラー-名前「Dense」が定義されていません

分類Dev

エラー:名前 'バンド'が定義されていません

分類Dev

Python Open CVエラー:名前エラー:名前画像が定義されていません

分類Dev

NameError:Djangoフォームでは、名前「リクエスト」が定義されていません

分類Dev

名前エラー:グローバル名「ローダー」が定義されていません

分類Dev

NameError:名前 'acc'がpysparkアキュムレータで定義されていません

分類Dev

エラー名 'dtype'が定義されていません

分類Dev

pymongoエラー名「ISODate」が定義されていません

分類Dev

名前エラー:名前 'カウントソート'が定義されていません

分類Dev

python - pyqt5: 2 フォームの表示でエラーが発生しました。名前 'Window' が定義されていません

分類Dev

Qtipデータが定義されていませんエラー

Related 関連記事

  1. 1

    Python名エラー。Pandasデータフレームの使用中に名前が定義されていません

  2. 2

    JSF-XHTMLフォームで「名前にタグが定義されていません:validateRequired」エラー

  3. 3

    NameError:名前 'エラー'が定義されていません

  4. 4

    名前エラー-名前が定義されていません-Python3.6.2

  5. 5

    名前エラー:名前 'get_ipython'が定義されていません

  6. 6

    Tkinterのトラブル-名前フレームが定義されていません

  7. 7

    名前エラー名「getName」が定義されていません

  8. 8

    Python クラス: ラムダ名エラー - 名前が定義されていません

  9. 9

    Python EXECショーエラー:名前が定義されていません

  10. 10

    Pythonコード、名前が定義されていませんエラー

  11. 11

    ファイルブラウザの設定エラー:名前「設定」が定義されていません

  12. 12

    Kerasチュートリアルエラー:NameError:名前 'レイヤー'が定義されていません

  13. 13

    Django認証モデルエラー:名前「ユーザー」が定義されていません

  14. 14

    python turtle名前エラー:形状が定義されていません

  15. 15

    djangoエラーNameError:名前 'DEBUG'が定義されていません

  16. 16

    名前(変数名)が定義されていませんエラー

  17. 17

    C ++エラー:名前空間で出力が定義されていません

  18. 18

    名前エラー「html」がbeautifulsoup4で定義されていません

  19. 19

    kerasのエラー-名前「Dense」が定義されていません

  20. 20

    エラー:名前 'バンド'が定義されていません

  21. 21

    Python Open CVエラー:名前エラー:名前画像が定義されていません

  22. 22

    NameError:Djangoフォームでは、名前「リクエスト」が定義されていません

  23. 23

    名前エラー:グローバル名「ローダー」が定義されていません

  24. 24

    NameError:名前 'acc'がpysparkアキュムレータで定義されていません

  25. 25

    エラー名 'dtype'が定義されていません

  26. 26

    pymongoエラー名「ISODate」が定義されていません

  27. 27

    名前エラー:名前 'カウントソート'が定義されていません

  28. 28

    python - pyqt5: 2 フォームの表示でエラーが発生しました。名前 'Window' が定義されていません

  29. 29

    Qtipデータが定義されていませんエラー

ホットタグ

アーカイブ