熊猫-删除列索引的标签

use*_*528 7 python dataframe pandas

我有一个数据框,如下所示:

PLEASE_REMOVE  2013  2014  2015
 THIS_IS_EASY
-------------------------------
          Bob     0     3     4
         Mary     2     3     6
Run Code Online (Sandbox Code Playgroud)

年份(2013、2014、2015)是列索引标签。名称(Mary,Bob)是行索引标签。

我以某种方式设法获得行索引和列索引的标签。

使用df.index.names = ['']我可以删除THIS_IS_EASY位。

如何删除PLEASE_REMOVE位?

所需的输出是:

               2013  2014  2015
 -------------------------------
          Bob     0     3     4
         Mary     2     3     6
Run Code Online (Sandbox Code Playgroud)

Roc*_* Li 14

像这样:

df = df.rename_axis(None)
Run Code Online (Sandbox Code Playgroud)

这将摆脱左上角的所有内容。你也可以就地做:https : //pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.rename_axis.html


Ian*_*gie 13

在 Pandas 1.0.3 中,以下工作:

df.columns.name = None
Run Code Online (Sandbox Code Playgroud)

上面的“接受的答案”del df.columns.name导致:“AttributeError: can't delete attribute”

  • 在 pandas 1.0.3 中,接受的答案不再有效。@Ian Logie你是对的。 (2认同)

Pet*_*ler 8

只需删除列的名称:

del df.columns.name
Run Code Online (Sandbox Code Playgroud)

另外,请注意与df.index.names = ['']并不完全相同del df.index.name

  • 这行得通,我切换到“ del df.index.name”,我意识到现在它给了我一个更正确的解决方案。 (2认同)
  • 这似乎在 Pandas 1.0.3 中被打破了,[这是现在最好的答案](/sf/answers/4291882731/)。 (2认同)