说我有一个列上的分层指数pandas.DataFrame
如下:如何平铺pandas DataFrame中的层次列索引?
import pandas as pd
columns = pd.MultiIndex.from_product([list('AB'), list('ab')])
df = pd.DataFrame(np.arange(8).reshape((2,4)), columns=columns)
print df
输出[1]:
A B
a b a b
0 0 1 2 3
1 4 5 6 7
我想变平的列索引,所以它看起来如下:
Aa Ab Ba Bb
0 0 1 2 3
1 4 5 6 7
我试图
def flatten(col):
col.name = ''.join(col.name)
return col
df.apply(f)
但这只是忽略了新列的修改名称。
我喜欢重新命名的版本,但它在0.16.1版本中对我无效。 – snth
我遇到了''df.columns.map(''。join)'带'int'类型列索引的问题。 –