BUG:df.sort_values() disturb the order of values among columns. 
- [ ] I have checked that this issue has not already been reported.
check
- [ ] I have confirmed this bug exists on the latest version of pandas.
check
- [ ] (optional) I have confirmed this bug exists on the master branch of pandas.
check
---

**Note**: Please read [this guide](https://matthewrocklin.com/blog/work/2018/02/28/minimal-bug-reports) detailing how to provide the necessary information for us to reproduce your bug.

#### Code Sample, a copy-pastable example

```python
# Your code here
anno_table.sort_values(by=['Denovo_status', 'CLNSIG', patient_gt_col, 'ExonicFunc.refGene', 'DANN_score'], ascending=False, inplace=True)
    
```

#### Problem description
I have two columns named "Gene.refGene" and "AAChange.refGene" the later one is the detailed description of the amino acid change caused by a variant on the gene. So it should strictly correspond to the former column I mentioned here. 

However, after the running the code pasted above, their correspondence become completely messed. 
[this should explain **why** the current behaviour is a problem and why the expected output is a better solution]

#### Expected Output
Here I prepare the sample code for you to re-generate the issue.
[Archive.zip](https://github.com/pandas-dev/pandas/files/5027662/Archive.zip)
Pls de-compress the package and run the sh file. Keep them in the same folder.


#### Output of ``pd.show_versions()``

<details> 

![image](https://user-images.githubusercontent.com/40780228/89400761-eb162100-d746-11ea-8c55-85910b690273.png)

</details>
