【发布时间】:2017-02-13 04:41:18
【问题描述】:
我正在创建一个初始 pandas 数据框来存储从其他代码生成的结果:例如
result = pd.DataFrame({'date': datelist, 'total': [0]*len(datelist),
'TT': [0]*len(datelist)})
带有datelist 的预定义列表。然后其他代码将为每个date 输出total 和TT 的一些数字,我将其存储在result 数据帧中。
所以我希望第一列为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',这背后有什么原因吗?