Handle general case of df.set_index([df.index,...])