如何使用 iloc 方法删除行

Ert*_*CAL 8 pandas

我在下面的代码中使用 iloc 方法删除了前两列,没有任何问题。

eng_df.drop(eng_df.iloc[:,:2] , axis=1, inplace=True)
Run Code Online (Sandbox Code Playgroud)

但我尝试使用以下代码中的 iloc 方法删除第一,但没有成功:

eng_df.drop(eng_df.iloc[:1 , :] ,  inplace=True)
Run Code Online (Sandbox Code Playgroud)

...并收到以下警告:

KeyError:“['国家''能源供应''人均能源供应''可再生能源百分比']在轴中找不到”

我知道我可以用不同的方式删除行,但我的问题是我可以使用 iloc 方法删除行吗?如果可以,我该怎么做以及我的代码中有什么问题?谢谢...

小智 5

根据文件,pandas.DataFrame.drop

通过指定标签名称和相应的轴,或者直接指定索引或列名称来删除行或列。使用多索引时,可以通过指定级别来删除不同级别的标签。

所以,对于你的代码,

# dropping columns
eng_df.drop(columns=eng_df.iloc[:,:2].columns.tolist(), inplace=True)

# dropping index
eng_df.drop(index=eng_df.iloc[:1, :].index.tolist(), inplace=True)
Run Code Online (Sandbox Code Playgroud)