something like this:

```
  col_num = (max_cols // 2)
  left = frame.iloc[:,:col_num]
  right = frame.iloc[:,-col_num:]
  sep_col = DataFrame(data=['...'] * (len(left)+len(right),columns=['...'])
  frame = concat((left,sep_col,right), axis=1, ignore_index=True)
  frame.index = Index(left.index.to_list() + ['...'] + right.index.to_list())
```

the index is going to change anyhow because you are introducing a string column (so might as well just ignore it and then add it after)