我有一个这样的数据框:
subclasses
但我不希望第一行在那里,我只是希望数据帧看起来像这样:
index 1 2
Species AGRALB AGRCRI
Count 2 3
我知道您可以使用Species AGRALB AGRCRI
Count 2 3
重置索引,但我只想为第1行中的运行索引执行此操作。
答案 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