重置列的索引

时间:2015-07-30 20:20:41

标签: python pandas

我有一个这样的数据框:

subclasses

但我不希望第一行在那里,我只是希望数据帧看起来像这样:

index       1          2
Species  AGRALB     AGRCRI
Count      2          3

我知道您可以使用Species AGRALB AGRCRI Count 2 3 重置索引,但我只想为第1行中的运行索引执行此操作。

2 个答案:

答案 0 :(得分:1)

目前还不清楚是否有'指数'是索引的列或名称,但通常以下内容将起作用:

In [23]:
df.columns = df.iloc[0]
df = df.shift(-1).dropna()
df

Out[23]:
0 Species AGRALB AGRCRI
0   Count      2      3

实际上,而不是转移,我只是采取一个切片:

In [31]:
df.columns = df.iloc[0]
df = df.iloc[1:]
df

Out[31]:
0 Species AGRALB AGRCRI
1   Count      2      3

如果您从csv加载此数据,并且列名在第二行,那么您可以跳过第一行df = pd.read_csv(file, skiprows=1)

答案 1 :(得分:1)

试试这个:

df.columns = df.columns.droplevel()
  

Docstring:已删除请求级别的返回索引。如果是MultiIndex   只有2个级别,结果将是索引类型而不是MultiIndex。

     

参数   ---------- level:int / level name或list of list

     

注   -----不检查结果索引是否唯一

     

返回   ------- index:Index或MultiIndex