[英]How to resolve KeyError: "['column_name'] not in index"? [closed]
我想创建一个具有特定输入的数据帧,同时执行代码时出现以下错误。
让我解释一下顺序:
检查train_df
的列。
代码:
train_df.columns
输出:
Index(['fare_amount', 'pickup_datetime', 'pickup_longitude', 'pickup_latitude', 'dropoff_longitude', 'dropoff_latitude', 'passenger_count', 'pickup_datetime_year', 'pickup_datetime_month', 'pickup_datetime_day', 'pickup_datetime_weekday', 'pickup_datetime_hour', 'trip_distance', 'jkf_drop_distance', 'lga_drop_distance', 'ewr_drop_distance', 'met_drop_distance', 'wtc_drop_distance'], dtype='object')
仅选择模型所需的输入列。
代码:
input_cols = ['pickup_longitude', 'pickup_latitude', 'dropoff_longitude', 'dropoff_latitude', 'passenger_count', 'pickup_datetime_year', 'pickup_datetime_month', 'pickup_datetime_day', 'pickup_datetime_weekday', 'pickup_datetime_hour', 'trip_distance', 'jfk_drop_distance', 'lga_drop_distance', 'ewr_drop_distance', 'met_drop_distance', 'wtc_drop_distance']
从上述特定列创建训练数据框。
代码:
train_inputs = train_df[input_cols]
我在第三步得到错误回溯是:
--------------------------------------------------------------------------- KeyError Traceback (most recent call last) <ipython-input-111-7f39184b2836> in <module> ----> 1 train_inputs = train_df[input_cols] ~\\anaconda3\\lib\\site-packages\\pandas\\core\\frame.py in __getitem__(self, key) 3462 if is_iterator(key): 3463 key = list(key) -> 3464 indexer = self.loc._get_listlike_indexer(key, axis=1)[1] 3465 3466 # take() does not accept boolean indexers ~\\anaconda3\\lib\\site-packages\\pandas\\core\\indexing.py in _get_listlike_indexer(self, key, axis) 1312 keyarr, indexer, new_indexer = ax._reindex_non_unique(keyarr) 1313 -> 1314 self._validate_read_indexer(keyarr, indexer, axis) 1315 1316 if needs_i8_conversion(ax.dtype) or isinstance( ~\\anaconda3\\lib\\site-packages\\pandas\\core\\indexing.py in _validate_read_indexer(self, key, indexer, axis) 1375 1376 not_found = list(ensure_index(key)[missing_mask.nonzero()[0]].unique()) -> 1377 raise KeyError(f"{not_found} not in index") 1378 1379 KeyError: "['jfk_drop_distance'] not in index"
你需要确保 input_cols 中的项都在 train_df.columns 中,这些项都不满足条件:['fare_amount', 'pickup_datetime', 'jkf_drop_distance']
您input_cols 的这 3 列不存在(因此您会收到该错误):
'fare_amount'
'jkf_drop_distance'
'dropoff_latitude'
谢谢莱利指出错误。 我将"jkf_drop_distance"拼错为"jfk_drop_distance" ,结果它显示KeyError: "['jfk_drop_distance'] not in index" 。 现在问题已经解决了,我得到了预期的输出。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.