如果我有df:
VLA
0 40
1 200
,然后是一个如下所示的多索引:
stuff1 ... stuff2
p1 p1 p2 ... p3 p4 p4
dates ...
2019-12-01 596.973988 1268.966237 0.969522 ... 2.344248 1.365735 2.903094
2019-12-02 1.100081 2.338402 1.249667 ... 2.815914 1.387209 2.948740
我将如何创建一个以VLA
作为第二个数据帧的上索引的数据帧,如下所示:
VLA 40 ... 200
stuff1 ... stuff2
p1 p1 p2 ... p3 p4 p4
dates ...
2019-12-01 596 1268 0.969522 ... 2.344248 1.365735 2.903094
2019-12-02 1.100081 2.338402 1.249667 ... 2.815914 1.387209 2.948740
print (df.columns.levels[0])
Index(['stuff1', 'stuff2', 'stuff3', 'stuff4', 'stuff5', 'stuff6', 'stuff7'], dtype='object')
print (lvl0.map(d)
Float64Index([ 43.0, 43.0, 43.0, 43.0, 43.0, 43.0, 43.0, 43.0, 210.0,
210.0, 210.0, 210.0, 210.0, 210.0, 210.0, 210.0, nan, nan,
nan, nan, nan, nan, nan, nan, nan, nan, nan,
nan, nan, nan, nan, nan, nan, nan, nan, nan,
nan, nan, nan, nan, nan, nan, nan, nan, nan,
nan, nan, nan, nan, nan, nan, nan, nan, nan,
nan, nan],
dtype='float64')
答案 0 :(得分:2)
mux = pd.MultiIndex.from_tuples([('hh1', '43'),
('hh2', '43'),
('hh3', '43'),
('hh4', '43'),
('hh1', '210'),
('hh2', '210'),
('hh3', '210'),
('hh4', '210')],
)
final2 = pd.DataFrame(columns=mux)
mux = pd.MultiIndex.from_product([final2.columns.get_level_values(0).unique(), ['43', '210']])
print (mux)
MultiIndex([('hh1', '43'),
('hh1', '210'),
('hh2', '43'),
('hh2', '210'),
('hh3', '43'),
('hh3', '210'),
('hh4', '43'),
('hh4', '210')],
)