【发布时间】:2016-04-11 03:32:58
【问题描述】:
如何从多个 numpy 数组、Pandas 系列或 Pandas DataFrame 中创建一个 DataFrame,同时保留列的顺序?
例如,我有这两个numpy 数组,我想将它们组合成一个Pandas DataFrame。
foo = np.array( [ 1, 2, 3 ] )
bar = np.array( [ 4, 5, 6 ] )
如果我这样做,bar 列将排在第一位,因为dict 不保留顺序。
pd.DataFrame( { 'foo': pd.Series(foo), 'bar': pd.Series(bar) } )
bar foo
0 4 1
1 5 2
2 6 3
我可以这样做,但是当我需要组合许多变量时会变得乏味。
pd.DataFrame( { 'foo': pd.Series(foo), 'bar': pd.Series(bar) }, columns = [ 'foo', 'bar' ] )
编辑:有没有办法在一个操作中指定要连接的变量并组织列顺序?也就是说,我不介意使用多行来完成整个操作,但我宁愿不必指定要多次连接的变量(因为我将大量更改代码,这很容易出错) .
EDIT2:还有一点。如果我想添加或删除要加入的变量之一,我只想在一个地方添加/删除。
【问题讨论】: