51142


[先ほど質問](https://ja.stackoverflow.com/questions/51130/%e9%9b%91%e8%aa%8c%e3%81%ae%e9%80%9a%e3%82%8a%e3%81%ab%e3%82%b3%e3%83%bc%e3%83%89%e3%81%97%e3%81%9f%e3%81%ae%e3%81%a7%e3%81%99%e3%81%8cnameerror-
name-pclass-is-not-
defined%e3%81%a8%e5%87%ba%e3%81%a6%e3%81%97%e3%81%be%e3%81%a3%e3%81%9f)させて頂いた者です。回答者様のアドバイスを受けて修正したところ、一部ですがこのようなエラーが出ました。これはどういったエラーなのでしょうか？対処法を教えて頂きたいです。

[code]

    from google.colab import files
    upload = files.upload()
    
    from google.colab import files
    upload = files.upload()
    
    import pandas as pd
    import numpy as np
    
    import matplotlib.pyplot as plot
    
    from sklearn.preprocessing import LabelEncoder
    from sklearn.metrics import accuracy_score
    from sklearn.model_selection import GridSearchCV
    from sklearn.model_selection import cross_val_score
    from sklearn.linear_model import LogisticRegression
    from sklearn.ensemble import RandomForestClassifier
    from sklearn.svm import SVC
    
    train_set=pd.read_csv('train.csv')
    test_set=pd.read_csv('test.csv')
    
    train_set.head(2)
    
    test_set.head(2)
    
    fig=plot.figure(figsize=(12,4)) #figsize...ウィンドウの大きさ
    ax1=fig.add_subplot(121) #ax...グラフ、add_subplot...グラフの場所指定
    ax2=fig.add_subplot(122)
    #PClass (旅客等級）
    PClassPlot=train_set['Survived'].groupby(train_set['PClass']).mean()
    ax1.bar(x=PClassPlot.index,height=PClassPlot.values)
    ax1.set_ylabel('Survaival Rate')
    ax1.set_xlabel('Gender')
    ax1.set_xticks(GenderPlot.index)
    ax1_set_yticks(np.arrenge(0,1.1,.1))
    ax1.set_title("Class and Survival Rate")
    
[/code]

↓以下エラー文

[code]

    KeyError                                  Traceback (most recent call last)
    /usr/local/lib/python3.6/dist-packages/pandas/core/indexes/base.py in get_loc(self, key, method, tolerance)
       2524             try:
    -> 2525                 return self._engine.get_loc(key)
       2526             except KeyError:
    
    pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()
    
    pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()
    
    pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()
    
    pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()
    
    KeyError: 'PClass'
    During handling of the above exception, another exception occurred:
    
[/code]


CC BY-SA 4.0
2018-12-12T06:20:28.847
51141
2018-12-12T06:49:27.600
2018-12-12T06:26:06.670
19110
31406
question
python python3 機械学習
KeyError: 'PClass'の対処法


Kaggle のデータセットを見たのですが、PClassではなくてPclassのようです。スペルを直して実施してみてください。

* * *
[code]

    test_set.head(2)
    
[/code]

[![train_set](https://i.stack.imgur.com/nzNuf.png)](https://i.stack.imgur.com/nzNuf.png)

Pclass はこのテーブルの左から３カラム目のことを指しており、

[code]

    train_set['Pclass']
    
[/code]

pandas のデータフレームではカラム名でその中身のデータだけを指定することができます。

今回の `KeyError` とは、データフレーム内にそのキー（カラム名）が存在しないというエラーです。

参照： <https://pandas.pydata.org/pandas-
docs/stable/generated/pandas.DataFrame.html#pandas.DataFrame>


CC BY-SA 4.0
2018-12-12T06:36:35.813
51142
2018-12-12T06:49:27.600
2018-12-12T06:49:27.600
26558
26558
51141
answer