I'm a bit puzzled about the behavior of DataFrame
For example:
df = pd.DataFrame(data=np.random.random(size=(5,3)), 
                  columns={'a', 'b', 'c'})
why the default output is:
df =      c         a         b
0  0.325172  0.831253  0.151912
1  0.558476  0.177249  0.906136
2  0.516089  0.069013  0.370251
3  0.440246  0.154116  0.494690
4  0.793981  0.409526  0.885879
and not the ordered list of columns ('a', 'b', 'c')
(Python 3.6, Pandas 0.23)
 
    