Pandas:如何将多层索引列标题转换为普通列标题?
我的数据框长这样,列的标题是多重索引,(True和False是布尔类型)。
date a value
id False True
0 2013-11-26 0 346.749819 0.000000
1 2013-11-27 1 1786.449591 21442.388942
2 2013-11-28 1 677837.782372 92998.909207
3 2013-11-29 0 731443.020535 322093.419644
4 2013-11-30 1 18082.124124 11637.523334
我该如何简单地把它变成这样:
id date a value: False value: True
0 2013-11-26 0 346.749819 0.000000
1 2013-11-27 1 1786.449591 21442.388942
2 2013-11-28 1 677837.782372 92998.909207
3 2013-11-29 0 731443.020535 322093.419644
4 2013-11-30 1 18082.124124 11637.523334
列名并不重要,因为我可以稍后用rename
来修改它们。
2 个回答
0
这里有一种更符合Python风格的方法,可以将数据框中的多重索引列扁平化:
df.columns = df.columns.map(' : '.join)
2
如果名字不重要,你可以这样做,这样可以重置行的索引,并用一个包含每个层级的元组来替换多重索引的列。
df = df.reset_index()
df.columns = list(df.columns)