假设我有一个像这样的DataFrame:
julia> df = DataFrame(a = [1,2,3], b = [3,4,5])
3×2 DataFrames.DataFrame
│ Row │ a │ b │
├─────┼───┼───┤
│ 1 │ 1 │ 3 │
│ 2 │ 2 │ 4 │
│ 3 │ 3 │ 5 │
如何随后更改列的顺序,以便列:b
位于列:a
之前?
答案 0 :(得分:7)
这很简单,但是我花了一段时间才发现我,所以我想我会把它发布在这里:
julia> df = df[[:b, :a]]
3×2 DataFrames.DataFrame
│ Row │ b │ a │
├─────┼───┼───┤
│ 1 │ 3 │ 1 │
│ 2 │ 4 │ 2 │
│ 3 │ 5 │ 3 │
答案 1 :(得分:6)
如果你想要更快的速度,你可以写
self
如果您想更新 String whereStatement=Constant.daily.Col_Remove +" = ? AND "
+Constant.daily.Col_carowners_id +" IN( " +idOfMergeData+" ) AND "
+"strftime('%m', '"+Constant.daily.Col_date+"' ) = ? ";
String [] ArgValues={"0",date_in_month};
,可以分两步完成:
df[[2, 1]]
更快。
编辑:DataFrames.jl版本0.11.7提供了一个新函数df
,以便您可以就地重新排序列:
df[1], df[2] = df[2], df[1]
names!(df, [:b, :a])
答案 2 :(得分:2)
通过使用DataFrames.jl中的select
或select!
。例如:
julia> select(df, [:b, :a])
3×2 DataFrames.DataFrame
│ Row │ b │ a │
├─────┼───┼───┤
│ 1 │ 3 │ 1 │
│ 2 │ 4 │ 2 │
│ 3 │ 5 │ 3 │