为什么数据框的列顺序会自动更改

为什么数据框的列顺序会自动更改

本文介绍了 pandas 为什么数据框的列顺序会自动更改?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

When I were output the result to CSV file, I generated a pandas dataframe. But the dataframe column order changed automatically, I am curious Why would this happened?

问题图片:

推荐答案

正如尤恩·埃伦(Yun Elan)指出的那样,python字典没有排序,因此,如果您使用字典来提供数据,则这些列将最终随机排序。您可以使用参数来显式设置列的顺序:

As Youn Elan pointed out, python dictionaries aren't ordered, so if you use a dictionary to provide your data, the columns will end up randomly ordered. You can use the columns argument to set the order of the columns explicitly though:

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

这篇关于 pandas 为什么数据框的列顺序会自动更改?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-31 23:59