数据框如下:
julia> df
8×6 DataFrame
│ Row │ RegionID │ RegionName │ StateName │ SizeRank │ 2008-03 │ 2008-04 │
│ │ Any │ Any │ Any │ Any │ Any │ Any │
├─────┼──────────┼──────────────┼──────────────┼──────────┼─────────┼─────────┤
│ 1 │ 6181 │ New York │ New York │ 1 │ missing │ missing │
│ 2 │ 12447 │ Los Angeles │ California │ 2 │ 1446 │ 1705 │
│ 3 │ 39051 │ Houston │ Texas │ 3 │ 2926 │ 3121 │
│ 4 │ 17426 │ Chicago │ Illinois │ 4 │ 2910 │ 3022 │
│ 5 │ 6915 │ San Antonio │ Texas │ 5 │ 1479 │ 1529 │
│ 6 │ 13271 │ Philadelphia │ Pennsylvania │ 6 │ 1609 │ 1795 │
│ 7 │ 40326 │ Phoenix │ Arizona │ 7 │ 1310 │ 1519 │
│ 8 │ 18959 │ Las Vegas │ Nevada │ 8 │ 1618 │ 1856 │
堆叠数据框如下:
julia> df4=stack(df3,Between(:"2008-03", :"2008-04"),variable_name=:year, value_name=:sales_count)
16×6 DataFrame
│ Row │ year │ sales_count │ RegionID │ RegionName │ StateName │ SizeRank │
│ │ Symbol │ Any │ Any │ Any │ Any │ Any │
├─────┼─────────┼─────────────┼──────────┼──────────────┼──────────────┼──────────┤
│ 1 │ 2008-03 │ missing │ 6181 │ New York │ New York │ 1 │
│ 2 │ 2008-03 │ 1446 │ 12447 │ Los Angeles │ California │ 2 │
│ 3 │ 2008-03 │ 2926 │ 39051 │ Houston │ Texas │ 3 │
│ 4 │ 2008-03 │ 2910 │ 17426 │ Chicago │ Illinois │ 4 │
│ 5 │ 2008-03 │ 1479 │ 6915 │ San Antonio │ Texas │ 5 │
│ 6 │ 2008-03 │ 1609 │ 13271 │ Philadelphia │ Pennsylvania │ 6 │
│ 7 │ 2008-03 │ 1310 │ 40326 │ Phoenix │ Arizona │ 7 │
│ 8 │ 2008-03 │ 1618 │ 18959 │ Las Vegas │ Nevada │ 8 │
│ 9 │ 2008-04 │ missing │ 6181 │ New York │ New York │ 1 │
│ 10 │ 2008-04 │ 1705 │ 12447 │ Los Angeles │ California │ 2 │
│ 11 │ 2008-04 │ 3121 │ 39051 │ Houston │ Texas │ 3 │
│ 12 │ 2008-04 │ 3022 │ 17426 │ Chicago │ Illinois │ 4 │
│ 13 │ 2008-04 │ 1529 │ 6915 │ San Antonio │ Texas │ 5 │
│ 14 │ 2008-04 │ 1795 │ 13271 │ Philadelphia │ Pennsylvania │ 6 │
│ 15 │ 2008-04 │ 1519 │ 40326 │ Phoenix │ Arizona │ 7 │
│ 16 │ 2008-04 │ 1856 │ 18959 │ Las Vegas │ Nevada │ 8 │
请指导我在末尾显示列 year 和 sales_count。
最佳答案
这样做:
select(df4, Not([:year, :sales_count]), :year, :sales_count)
或者如果您希望它更短(但这取决于您要移动的内容的列号):
select(df4, Not(1:2), 1:2)
最后你也可以使用索引,例如像这样:
df4[:, [3:end; 1:2]]
这里我使用的是位置索引,但你也可以使用列名:
df4[:, Cols(Not([:year, :sales_count]), :year, :sales_count)]
关于dataframe - 如何更改数据框的列索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68516059/