How to split an index into a pandas delimited multi-index
I have this dataframe:
index 0
idxaa1cx1 some_text
idxbb2cx2 some_text
idxcc3cx3 some_text
I want to split the index into multi-index, for example:
idx_1 idx_2 0
idxa a1cx1 some_text
idxb b2cx2 some_text
idxc c3cx3 some_text
I've tried this:
df.index = pd.MultiIndex.from_tuples([tuple(idx.split(idx[:3][-5:])) for idx in df.index])
which returns:
idx_1 idx_2 0
a1cx1 some_text
b2cx2 some_text
c3cx3 some_text
but the idx_1 column is empty. And I also tried:
df.index = pd.MultiIndex.from_tuples([tuple({idx[:3]:idx[-5:]}) for idx in df.index])
which only returns:
idx_1 0
idxa some_text
idxb some_text
idxc some_text
and does not return a dictionary value. My question is, how can I split the index by arbitrary length and get multiple columns?
+3
source to share