Terence888 发表于 2024-10-30 15:40:20

对列表切片操作报错

#合并训练集和测试集
#train_dataset.drop(['Id','SalePrice'],axis=1)
full_dataset = pd.concat(,axis=1),test_dataset[:,1:]])
#train_dataset.shape,test_dataset.shape,full_dataset.shape

报错如下---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
File /opt/conda/lib/python3.10/site-packages/pandas/core/indexes/base.py:3805, in Index.get_loc(self, key)
   3804 try:
-> 3805   return self._engine.get_loc(casted_key)
   3806 except KeyError as err:

File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()

File index.pyx:173, in pandas._libs.index.IndexEngine.get_loc()

TypeError: '(slice(None, None, None), slice(1, None, None))' is an invalid key

During handling of the above exception, another exception occurred:

InvalidIndexError                         Traceback (most recent call last)
Cell In, line 3
      1 #合并训练集和测试集
      2 #train_dataset.drop(['Id','SalePrice'],axis=1)
----> 3 full_dataset = pd.concat(,axis=1),test_dataset[:,1:]])
      4 #train_dataset.shape,test_dataset.shape,full_dataset.shape

File /opt/conda/lib/python3.10/site-packages/pandas/core/frame.py:4102, in DataFrame.__getitem__(self, key)
   4100 if self.columns.nlevels > 1:
   4101   return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
   4103 if is_integer(indexer):
   4104   indexer =

File /opt/conda/lib/python3.10/site-packages/pandas/core/indexes/base.py:3817, in Index.get_loc(self, key)
   3812   raise KeyError(key) from err
   3813 except TypeError:
   3814   # If we have a listlike key, _check_indexing_error will raise
   3815   #InvalidIndexError. Otherwise we fall through and re-raise
   3816   #the TypeError.
-> 3817   self._check_indexing_error(key)
   3818   raise

File /opt/conda/lib/python3.10/site-packages/pandas/core/indexes/base.py:6059, in Index._check_indexing_error(self, key)
   6055 def _check_indexing_error(self, key):
   6056   if not is_scalar(key):
   6057         # if key is not a scalar, directly raise an error (the code below
   6058         # would convert to numpy arrays and raise later any way) - GH29926
-> 6059         raise InvalidIndexError(key)

InvalidIndexError: (slice(None, None, None), slice(1, None, None))

FishC 发表于 2024-10-30 15:40:37

在你的代码中,`train_dataset.drop(,axis=1)` 这一行缺少了要删除的列名或列索引,这导致了错误。`drop` 方法需要一个明确的列名或索引来删除相应的列。

你可以这样修改代码:

# 假设你想删除名为 'column_name' 的列
full_dataset = pd.concat()

如果你不想删除任何列,只是想合并数据集,可以直接使用:

full_dataset = pd.concat()

确保在 `drop` 方法中提供正确的列名或索引。如果你不确定列名,可以使用 `train_dataset.columns` 查看所有列名。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: 对列表切片操作报错