我有一个带有多索引的pandas.Series
:
index = pd.MultiIndex.from_tuples([('one', 'a'), ('one', 'b'),
('two', 'a'), ('two', 'b')])
s = pd.Series(np.arange(1.0, 5.0), index=index)
print(s)
one a 1.0
b 2.0
two a 3.0
b 4.0
dtype: float64
我想以下列形式将multiindex合并为一个索引:
one_a 1.0
one_b 2.0
two_a 3.0
two_b 4.0
dtype: float64
有一个很好的方法吗?
答案 0 :(得分:5)
将map
与join
:
s.index = s.index.map('_'.join)
替代方案是list comprehension
:
s.index = ['{}_{}'.format(i, j) for i, j in s.index]
print (s)
one_a 1.0
one_b 2.0
two_a 3.0
two_b 4.0
dtype: float64