Pandas:根据数据和列顺序创建数据框

时间:2018-05-03 08:12:55

标签: python pandas dataframe

我要求的东西必须是非常简单的东西,但老实说,我无法看到它...... :(

我有一个数组,让我们说

data = [[1, 2, 3], 
        [4, 5, 6],
        [7, 8, 9],
        [10,11,12]]

我希望将其放在数据框中 我做df = pd.Dataframe(data, columns={'col1', 'col2', 'col3'})

旨在:

col1 col2 col3
1    2    3
4    5    6
7    8    9
10   11   12

但我得到了:

col3 col1 col2
1    2    3
4    5    6
7    8    9
10   11   12

(注意列名和数据之间的差异)

我知道我可以在数据框创建中重新排列列名称顺序,但我试图了解它是如何工作的。

我做错了什么,或者它的正常行为? (为什么呢?)

2 个答案:

答案 0 :(得分:2)

您必须为tuple属性传递listcolumns作为值。

在您的示例中,您使用的是set列,这是一个无序集合。

df = pd.DataFrame(data, columns=['col1', 'col2', 'col3'])

答案 1 :(得分:2)

您正在使用{set}列,这不是有序集合(也不是字典)。 尝试使用(tuple),只需[list]

df = pd.Dataframe(data, columns=['col1', 'col2', 'col3'])