Pandas使用索引名称创建Dataframe作为列名

时间:2018-05-24 12:14:13

标签: python pandas

我有一个包含列名和数据的现有数据框。我想将数据框的index.name更改为列的名称。我很担心multi - indexing我该怎么做?因为那时我需要将该数据帧传递给to_sql函数,该函数将index视为表的列名。

目前我dataframe.index RangeIndex(start=0, stop=1669, step=1)

dataframe.index.nameNone

我做了如下:

dataframe.index.names = dataframe.columns
dataframe = dataframe.rename_axis(dataframe.columns)

它给我的错误为Length of new names must be 1, got 67。 67是数据帧中的列数。

1 个答案:

答案 0 :(得分:1)

这取决于MultiIndex

对于单一索引需求:

df.index.name = 'foo'
df = df.rename_axis('foo')

对于MultiIndex需要:

df.index.names = ('foo', 'bar')
df = df.rename_axis(('foo', 'bar'))