我有一个数组,让我们说
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
(注意列名和数据之间的差异)
我知道我可以在数据框创建中重新排列列名称顺序,但我试图了解它是如何工作的。
我做错了什么,或者它的正常行为? (为什么呢?)
答案 0 :(得分:2)
您必须为tuple
属性传递list
或columns
作为值。
在您的示例中,您使用的是set
列,这是一个无序集合。
df = pd.DataFrame(data, columns=['col1', 'col2', 'col3'])
答案 1 :(得分:2)
您正在使用{set}
列,这不是有序集合(也不是字典)。
尝试使用(tuple)
,只需[list]
df = pd.Dataframe(data, columns=['col1', 'col2', 'col3'])