Python 为什么数据帧列顺序会自动更改?;

Python 为什么数据帧列顺序会自动更改?;,python,pandas,dataframe,Python,Pandas,Dataframe,当我将结果输出到CSV文件时,我生成了一个数据帧。但是dataframe列顺序会自动更改,我很好奇为什么会发生这种情况 问题图片: 我注意到你使用字典 python中的词典不保证按任何顺序排列。它取决于多个因素,包括数组中的内容。键被保证是唯一的,尽管正如Youn Elan指出的那样,python字典是没有顺序的,因此如果使用字典提供数据,列将以随机顺序结束。您可以使用columns参数来明确设置列的顺序,尽管: import pandas as pd before = pd.DataFram

当我将结果输出到CSV文件时,我生成了一个数据帧。但是dataframe列顺序会自动更改,我很好奇为什么会发生这种情况

问题图片:


我注意到你使用字典


python中的词典不保证按任何顺序排列。它取决于多个因素,包括数组中的内容。键被保证是唯一的,尽管正如Youn Elan指出的那样,python字典是没有顺序的,因此如果使用字典提供数据,列将以随机顺序结束。您可以使用
columns
参数来明确设置列的顺序,尽管:

import pandas as pd

before = pd.DataFrame({'lake_id': range(3), 'area': (['a', 'b', 'c'])})
print 'before'
print before

after = pd.DataFrame({'lake_id': range(3), 'area': (['a', 'b', 'c'])},
                     columns=['lake_id', 'area'])
print 'after'
print after
结果:

before
  area  lake_id
0    a        0
1    b        1
2    c        2
after
   lake_id area
0        0    a
1        1    b
2        2    c

丹克!你的回答帮助我解决了这个问题!丹克!你的回答帮助我解决了这个问题!