使用Stack unstack 但不自动重新排序

有一组数据,之前已经按照C1的数值从大到小排序。但是在对此数据进行unstack重塑后,数据又按照行索引的字母重新进行了排序。stack/unstack语句中可有方法不进行重新排序?

import pandas as pd
import numpy as np

df = pd.DataFrame(data={'i1':['x','x','x','x','y','y','y','y'], 'i2':['f','a','w','h','f','a','w','h'], 'c1':[20,15,10,9,8,7,6,4], 'c2':[23,6,34,78,13,45,67,8]})
df.set_index(['i1','i2'],inplace=True)

cols = df.columns
df1 = df.unstack('i1')

print (df)
print (df1)