getting raise KeyError(key) from err KeyError: 'fbs' in different dataset

getting raise KeyError(key) from err KeyError: 'fbs' in different dataset

我正在尝试制作我的模型,当我使用不同的数据集和不同的编码时它可以工作,但在另一个代码中,我为我的模型使用不同的编码和不同的数据集但它似乎显示如下错误:

 Traceback (most recent call last):
      File "C:\Users\user\AppData\Local\conda\conda\envs\myenv\lib\site-packages\pandas\core\indexes\base.py", line 3361, in get_loc
        return self._engine.get_loc(casted_key)
      File "pandas\_libs\index.pyx", line 76, in pandas._libs.index.IndexEngine.get_loc
      File "pandas\_libs\index.pyx", line 108, in pandas._libs.index.IndexEngine.get_loc
      File "pandas\_libs\hashtable_class_helper.pxi", line 5198, in pandas._libs.hashtable.PyObjectHashTable.get_item
      File "pandas\_libs\hashtable_class_helper.pxi", line 5206, in pandas._libs.hashtable.PyObjectHashTable.get_item
    KeyError: 'fbs'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "heart_disease.py", line 11, in <module>
    dummy = pd.get_dummies(df[col], prefix=col)
  File "C:\Users\user\AppData\Local\conda\conda\envs\myenv\lib\site-packages\pandas\core\frame.py", line 3455, in __getitem__
    indexer = self.columns.get_loc(key)
  File "C:\Users\user\AppData\Local\conda\conda\envs\myenv\lib\site-packages\pandas\core\indexes\base.py", line 3363, in get_loc
    raise KeyError(key) from err
KeyError: 'fbs'

是我的代码出错了还是不同的数据集出错了?这是我的 code and my dataset

问题是列名不是您所期望的,因为它们包含空格。

来自您的代码:

# your DataFrame
penguins = pd.read_csv('file.csv')

打印

penguins.columns

Returns

Index(['age', ' sex', ' cp', ' trestbps', ' chol', ' fbs', ' restecg',
' thalach', ' exang', ' oldpeak', ' slope', ' thal', ' diagnosis'],
dtype='object')

如您所见,列的名称中有空格。 我们可以通过在 :

之后执行以下操作来解决这个问题
penguins.columns = penguins.columns.str.replace(' ', '')

这将解决您的错误。