Python 从dataframe按索引删除行

Python 从dataframe按索引删除行,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个数组错误的索引\u train,其中包含我要从数据帧中删除的索引列表: [0, 63, 151, 469, 1008] 要删除这些索引,我尝试以下操作: df_train.drop(wrong_indexes_train) 但是,代码失败,出现以下错误: ValueError: labels ['OverallQual' 'GrLivArea' 'GarageCars' 'TotalBsmtSF' 'FullBath' 'YearBuilt'] not contained in a

我有一个数组
错误的索引\u 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''YearBuild']
是我的数据帧列的名称

我怎么能让数据帧删除我指定的所有索引行呢?

将其更改为

df_train.drop(wrong_indexes_train,axis=1)

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

有关符号行名称(索引),请参见以下内容:

对于数字(默认)索引:

试一试

df_train.drop(wrong_indexes_train)

我的猜测是,
df\u train
目前没有数字索引,而是
[“总体质量”、“GrLivArea”、“车库车”、“总BSMTSF”、“全浴室”、“年建成”]
列中的一列用作索引。

看看这个。“同时指定标签和索引或列将引发ValueError。”实际上,它是
axis=1
,因为我删除的是行,而不是列,但我在查看您的答案时发现了这一点。这是我最初得到的结果,然后在文档中另有说明后对其进行了编辑。很高兴我能帮忙。axis:int或axis name是否从索引(0/‘index’)或列(1/‘columns’)中删除标签。我认为drop(rowname)将删除row=rowname。轴=1表示列。这是什么?上面看起来有点混乱;axis=1确实会删除列,因此axis=0或axis='index'将是删除行的方式。正确的方法,但是需要根据用例正确地设置这个参数。请考虑编辑这个来添加代码块,它将极大地提高可读性。索引是指行,而不是列。
df = pd.DataFrame({"ones":[1,3,5],
                   "tens":[20, 40, 60]})
df.drop([0,2], axis='index')
df_train=df_train.reset_index() 
df_train.drop(wrong_indexes_train)