[英]Pandas create Dataframe with index name as column name
I have an existing dataframe with column name and data. 我有一个具有列名称和数据的现有数据框。 I want to change index.name
for dataframe to be column's name. 我想将index.name
更改为列的名称。 I am confused about multi - indexing
how do I do that? 我对multi - indexing
感到困惑,我该怎么做? Because then I need to pass that dataframe to the to_sql
function which considers index as name of column for table. 因为那时我需要将该数据帧传递给to_sql
函数,该函数将索引视为表的列名。
Currently for me dataframe.index
is RangeIndex(start=0, stop=1669, step=1)
目前我dataframe.index
是RangeIndex(start=0, stop=1669, step=1)
and dataframe.index.name
is None
并且dataframe.index.name
为None
I have done as follows : 我做了如下:
dataframe.index.names = dataframe.columns
dataframe = dataframe.rename_axis(dataframe.columns)
It's giving me error as Length of new names must be 1, got 67
. 这给了我错误,因为Length of new names must be 1, got 67
。 67 is number of column I have in dataframe. 67是我在数据框中具有的列数。
It depends if MultiIndex
or not. 这取决于是否使用MultiIndex
。
For single index need: 对于单个索引需要:
df.index.name = 'foo'
df = df.rename_axis('foo')
For MultiIndex
need: 对于MultiIndex
需要:
df.index.names = ('foo', 'bar')
df = df.rename_axis(('foo', 'bar'))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.