小编mqk*_*mqk的帖子

将DataFrame列标题设置为MultiIndex

如何将具有单级列的现有数据框转换为具有分层索引列(MultiIndex)?

示例数据帧:

In [1]:
import pandas as pd
from pandas import Series, DataFrame

df = DataFrame(np.arange(6).reshape((2,3)),
               index=['A','B'],
               columns=['one','two','three'])
df
Out [1]:
   one  two  three
A    0    1      2
B    3    4      5
Run Code Online (Sandbox Code Playgroud)

我以为reindex()会起作用,但我得到了NaN:

In [2]:
df.reindex(columns=[['odd','even','odd'],df.columns])
Out [2]:
   odd  even    odd
   one   two  three
A  NaN   NaN    NaN
B  NaN   NaN    NaN
Run Code Online (Sandbox Code Playgroud)

如果我使用DataFrame(),则相同:

In [3]:
DataFrame(df,columns=[['odd','even','odd'],df.columns])
Out [3]:
   odd  even    odd
   one   two  three
A  NaN   NaN    NaN
B  NaN   NaN    NaN
Run Code Online (Sandbox Code Playgroud)

如果我指定df.values,这最后一种方法确实有效:

In [4]:
DataFrame(df.values,index=df.index,columns=[['odd','even','odd'],df.columns])
Out [4]: …
Run Code Online (Sandbox Code Playgroud)

python multi-index pandas

13
推荐指数
1
解决办法
9224
查看次数

标签 统计

multi-index ×1

pandas ×1

python ×1