答案 0 :(得分:1)
我注意到你使用字典。
python中的字典无法保证以任何顺序排列。这取决于多种因素,包括阵列中的内容。密钥保证是独一无二的
答案 1 :(得分:1)
正如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