ホームページ >バックエンド開発 >Python チュートリアル >DataFrame 列にアクセスすると「Pandas Hashtable KeyError」が発生するのはなぜですか?

DataFrame 列にアクセスすると「Pandas Hashtable KeyError」が発生するのはなぜですか?

DDD
DDDオリジナル
2024-11-16 10:09:02925ブラウズ

Why am I Getting a

「エラー: Pandas Hashtable KeyError」のトラブルシューティング

パンダ データフレームから特定の列を取得しようとすると、「ハッシュテーブル」が発生する場合があります。キーエラー。」このエラーは、指定された列名が DataFrame に存在しない場合に発生します。

調査:

まず、DataFrame 内の実際の列名を確認します。次のコードを使用して列名をリストし、先頭または末尾の空白を必ず削除してください。

print(reviews_new.columns.tolist())

考えられる解決策:

1.列名の空白

列名に空白が含まれている場合は、次のことができます:

  • 列名から空白を削除します:

    reviews_new.columns = reviews_new.columns.str.strip()
  • CSV ファイルを読み取るときに Skipinitialspace を使用します:

    reviews_new = pd.read_csv("D:\aviva.csv", skipinitialspace=True)

2.カスタム区切り文字

CSV ファイルでデフォルトのカンマ (,) 以外の区切り文字が使用されている場合は、sep パラメータを使用して指定する必要があります:

  • 区切り文字としてのセミコロン:

    reviews_new = pd.read_csv("D:\aviva.csv", sep=';')
  • 区切り文字としての空白:

    # sep is whitespace
    reviews_new = pd.read_csv("D:\aviva.csv", sep='\s+')
    
    # Another option for whitespaces as separator
    reviews_new = pd.read_csv("D:\aviva.csv", delim_whitespace=True)

3.列名がありません

DataFrame に列名がない場合、次のコードは DataFrame インデックスを使用して列の値を取得します:

print(df.index)
print(df.index.get_level_values('column_name'))

補足事項:

  • 複数のインデックス (MultiIndex) を持つ DataFrame の場合、get_level_values を使用してレベル名で列の値を取得します。
  • 指定された列名が、大文字と小文字が正確に一致していることを確認してください。 DataFrame の列。

以上がDataFrame 列にアクセスすると「Pandas Hashtable KeyError」が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。