我有一个包含列名和数据的现有数据框。我想将数据框的index.name
更改为列的名称。我很担心multi - indexing
我该怎么做?因为那时我需要将该数据帧传递给to_sql
函数,该函数将index视为表的列名。
目前我dataframe.index
RangeIndex(start=0, stop=1669, step=1)
且dataframe.index.name
为None
我做了如下:
dataframe.index.names = dataframe.columns
dataframe = dataframe.rename_axis(dataframe.columns)
它给我的错误为Length of new names must be 1, got 67
。 67是数据帧中的列数。
答案 0 :(得分:1)
这取决于MultiIndex
。
对于单一索引需求:
df.index.name = 'foo'
df = df.rename_axis('foo')
对于MultiIndex
需要:
df.index.names = ('foo', 'bar')
df = df.rename_axis(('foo', 'bar'))