我正在创建一个初始的pandas数据框来存储从其他代码生成的结果,例如:
result = pd.DataFrame({'date': datelist, 'total': [0]*len(datelist),
'TT': [0]*len(datelist)})
使用预定义列表datelist
,其他代码将为每个date
输出一些数字,存储在result
数据帧中的total
和TT
中。
因此,我想要第一列是date
,第二列是total
,第三列是TT
。然而,创建时Pandas会自动按字母顺序重新排序为TT
,date
,total
。虽然可以之后手动重新排序,但我想知道是否有更简单的方法在一步中实现这一点。
我发现也可以这样做
result = pd.DataFrame(np.transpose([datelist, [0]*l, [0]*l]),
columns = ['date', 'total', 'TT'])
但它看起来有点乏味。还有其他建议吗?
df = pd.DataFrame(columns = ['b','a'])
,它将保留顺序,但如果我使用df = pd.DataFrame(columns = {'b','a'})
,列名的顺序将被更改为'a' 'b'
,这背后有什么原因吗? - Jason Goal