首页 > 解决方案 > 已更改数据框行索引,但旧行索引仍出现在新行索引的列名上方。如何删除它?

问题描述

我有一个数据框,它是从 CSV 文件的输入创建的。

处理后,它最终看起来像这样的东西......

6  col1   col2   col3   col4
7  x1     x2     x3     x4
8  y1     y2     y3     y4
9  z1     z2     z3     z4

侧面的数字是行索引,它等于 CSV 文件本身中的行号。(这很有帮助,因为我需要在输入中标记错误并指出单元格引用)

col1 - col4 是列名。

我希望 col1 成为行索引并使用

df.set_index('col1', drop= True, inplace = True)

但是,这会导致类似以下内容

6      col2   col3   col4
col1   
x1     x2     x3     x4
y1     y2     y3     y4
z1     z2     z3     z4

我可以引用单元格,因为我需要使用 iloc 调用列名,但左上角列名的旧行索引真的让我很烦。

有谁知道如何删除它,使数据框看起来像下面两个之一?我需要将它与另一个数据框进行比较以获得相等性,所以我需要它们完全相同。

       col2   col3   col4
col1   
x1     x2     x3     x4
y1     y2     y3     y4
z1     z2     z3     z4

col1   col2   col3   col4
x1     x2     x3     x4
y1     y2     y3     y4
z1     z2     z3     z4

标签: pythonpandasdataframeindexing

解决方案


问题是您的列的名称为“6”,请使用DataFrame.rename_axis

df = df.rename_axis(columns = None).set_index('col1')

推荐阅读