dataframe - 如何更改数据框的列索引?

标签 dataframe julia

数据框如下:

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/

相关文章:

python - Python 按月和年计算多个列值的平均值

excel - 如何在 Julia 中导出多列 CSV

当一个函数被传递一个函数时,Julia 编译器似乎没有优化

julia - 为什么 Julia> (1,2,3) 返回 (1,2,0)

julia - Julia 的朱诺 : Autocompletion using a key or do I have to use the mouse?

julia - Julia 类型图如何处理数组?

python - 将嵌套字典转换为表/父子结构,Python 3.6

python - pandas 动态列数的平均值

python - 如何匹配字符串列表中的字符串并忽略正则表达式特殊字符?

python - 在 RandomForestRegressor 中得到连续不支持的错误