繁体   English   中英

为什么`[<-`不能重新排序数据框列?

Why doesn't `[<-` work to reorder data frame columns?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

为什么这不起作用?

df <- data.frame(x=1:2, y = 3:4, z = 5:6)
df[] <- df[c("z", "y", "x")]
df
#>   x y z
#> 1 5 3 1
#> 2 6 4 2

请注意,名称是原始顺序,但数据本身已更改顺序。

这很好用

df <- data.frame(x=1:2, y = 3:4, z = 5:6)
df[c("z", "y", "x")]
#>   z y x
#> 1 5 3 1
#> 2 6 4 2
2 个回复

提取完成后,索引中的值将替换为名称。 例如,替换下面的第一项不会影响元素的名称:

x <- c(a=1, b=2)
x[1] <- 3
x
a b 
3 2 

在数据框中,您以相同的方式替换了值。 值已更改但名称保持不变。 要重新排序数据框,请避免使用提取框架。

df <- df[c("z", "y", "x")]

只是不要把[]放在df之后它会按你的意愿做...

df <- data.frame(x=1:2, y = 3:4, z = 5:6)
df <- df[c("z", "y", "x")]
df
#  z y x
#1 5 3 1
#2 6 4 2

如果你质疑为什么,Pierre Lafortune的评论是正确的。

作为附注,我还想将commat添加到单独的维度:

df <- df[,c("z", "y", "x")]

我发现它更合适。

1 重新排序数据框的列索引

我有一个15k列的数据框。 这些列将重新排序。 这样的。 这些列的排列方式如下: 1)第一列的值应为第三个值2)第二列的值应为第一个值3)第三列的值应为第一个值 现有栏 0 1 2 3 4 5 6 7 8 ..... 14998 14999 15000 所需列 ...

2 重新排序数据框列

有没有一种方法可以从txt文件对Pandas数据框中的列进行排序: 例如,从csv文件使用: 您可以传递订单列 还是一般来说,有没有一种方法可以重新排序数据框列? 也许使用.ix模块? ...

3 重新排序数据框列,同时忽略未识别的列

我认为必须有一个更好的方法来做到这一点。 我正在尝试重新排序数据框中的列。 我有一个列表ordered.colnames ,代表新的排序 - 但dataset 不存在一些列 。 为了避免错误“ undefined columns selected ”,我将相关的切片包装在try()函数 ...

4 重新排序数据列

我试图重新排列我的专栏,但无法弄清楚如何对我的专栏中的某个订单进行排序。 例如。 我有以下data.frame 所以我的目标是按名称和时间排序; 但是时间必须按照target.time描述的顺序。 通过执行以下操作,我可以实现多列排序; 但是我不知道如何用target ...

5 如何基于列组的平均值重新排序数据框

我试图根据与列ID关联的中位数对数据框进行重新排序。 我有一个ID列和2列值的数据框。 我想对该数据帧重新排序,以使列ID的顺序基于alpha列中关联值的递减方式: 这是不成功的: ...

7 重复并重新排序数据框中的列

假设我有以下数据框: 现在我想重复前3列n次(n = Pat列的数量)并将它们相互重叠。 然后我想把Pat2放在Pat1下面,Pat2下面的Pat3,...... 我的第一个意图是将df拆分为Time / Inc / Side部分和Pat部分,但是我将列安排在彼此之下时遇到了问题 ...

8 再次重新排序数据框中的列

我想在我的数据框中重新排序我的列,但到目前为止我发现的并不令人满意。 我的数据框看起来像: 但我想重新安排列看起来像这样: 我的真实数据框有很多列,因此使用索引或每列的名称“手动”重新排列列顺序不是最佳的。 另请注意,对于以q开头的列名,我希望按升序排列,即从q1到q ...

9 排序数据框的列

可能重复: 如何按列对数据框进行排序? 我有不同顺序的数据框(按列)。 现在,下面的列顺序已更改 再次改变 在这里,我在不同的列顺序中具有相同的数据框。 我不知道数据框的顺序,所以我想将数据放入以下格式: 在这里,我需要检查是否在任何列中_at的子字符串, ...

10 如何重新排序数据框字段?

我在下面的DataFrame中包含下表: 我想知道如何获取另一个将以这种方式对字段/列进行重新排序的数据框:时间戳,user_id,val1,val2,val3。 为了获得上表所使用的代码是: 在此先感谢您的帮助。 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM