从数据框中按索引删除行

新手上路,请多包涵

我有一个数组 wrong_indexes_train 其中包含我想从数据框中删除的索引列表:

 [0, 63, 151, 469, 1008]

要删除这些索引,我正在尝试这样做:

 df_train.drop(wrong_indexes_train)

但是,代码失败并出现错误:

 ValueError: labels ['OverallQual' 'GrLivArea' 'GarageCars' 'TotalBsmtSF' 'FullBath'
 'YearBuilt'] not contained in axis

在这里, ['OverallQual' 'GrLivArea' 'GarageCars' 'TotalBsmtSF' 'FullBath' 'YearBuilt'] 是我的数据框列的名称。

我怎样才能让数据框删除我指定的索引的整行?

原文由 bsky 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 378
2 个回答

改成

df_train.drop(wrong_indexes_train,axis=1)

原文由 Gabriel A 发布,翻译遵循 CC BY-SA 3.0 许可协议

如果没有最小(非)工作示例,则不能 100% 确定您想要什么,但您应该指定一个 axis 参数。 df.drop 返回修改后的 DataFrame 。如果要就地操作,请指定 inplace=True

请参阅符号行名称(索引):

 df = pd.DataFrame({"ones":[1,3,5],
                   "tens":[20, 40, 60]},
                  index=['barb', 'mark', 'ethan'])
df.drop(['barb', 'mark'], axis='index')

这对于数字(默认)索引:

 df = pd.DataFrame({"ones":[1,3,5],
                   "tens":[20, 40, 60]})
df.drop([0,2], axis='index')

原文由 MrDrFenner 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题