【发布时间】:2016-09-15 05:54:48
【问题描述】:
我有一个看起来像这样的 df:
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.random((4,4)))
df.columns = pd.MultiIndex.from_product([['1|mm','2|lll'],['A|ljjh','B|ldjdj']])
1|mm 2|lll
A|ljjh B|ldjdj A|ljjh B|ldjdj
0 0.599202 0.093917 0.582809 0.683346
1 0.902717 0.343215 0.222960 0.238709
2 0.808473 0.290253 0.276607 0.775530
3 0.197891 0.505197 0.243890 0.011838
我想像这样拆分每个级别的列标签:
columnlabel.split("|")[0]
我不确定最好的方法是什么?我应该创建一个新列表并将其分配给 df.columns 还是可以就地完成?
预期输出
1 2
A B A B
0 0.599202 0.093917 0.582809 0.683346
1 0.902717 0.343215 0.222960 0.238709
2 0.808473 0.290253 0.276607 0.775530
3 0.197891 0.505197 0.243890 0.011838
【问题讨论】:
标签: python pandas dataframe multiple-columns multi-index