a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
c = np.array([7, 8, 9])
pd.DataFrame(OrderedDict({'a': pd.Series(a), 'b': pd.Series(b), 'c': pd.
    Series(c)}))
pd.DataFrame(OrderedDict((('a', pd.Series(a)), ('b', pd.Series(b)), ('c',
    pd.Series(c)))))
How to create a DataFrame while preserving order of the columns?