例如:输入数据帧是:-
INPUT group
4000 1
4000 1
2000 2
3000 3
2000 4
2000 4
2000 4
输出:-动态分配给任意随机向量并将输出生成为:- 具有最大重复组数的第一个数据帧,具有重复组第二个最高元素的第二个数据帧,等等
输出
1.首先
2.秒
INPUT group
4000 1
4000 1
3.第三次
INPUT group
2000 2
4.第四
INPUT group
3000 3
用更简单的话来说-我想把数据帧分成一些组,在结果中,我希望所有的组都按升序分配给一些变量。 到目前为止,我尝试的是:
x<-setDT(df)[, group := rleid(df$INPUT)]
这将对组进行排序。我又试了一个命令,那就是:
y<-x[x$group == which.max(tabulate(x$group)), ]
但这只返回具有最大重复组元素数的group。在
我不确定你是否需要一次完成所有的输出。但这里有一个可能会有帮助的想法。我使用dplyr包来完成这个。因此,首先让我重新创建您作为输入提供的数据集:
输出
^{pr2}$现在我将创建一个辅助表,它将告诉我每个组有多少行,这个表已经从max到min排序:
输出
我们看到第4组出现了3次,第1组出现了两次,依此类推。 现在我可以轻松地从max到min“提取”我想要的组:
输出
我希望这有帮助。
我只想补充一点,你可以一次得到所有的东西当然:
输出
印度先生-试试这个。在
这将使用您所需的输出创建4个不同的数据帧。在
在Python Pandas中,可以执行以下操作:
创建DF:
按组分组并获取每个组的大小,将此大小作为一列添加到DF中并按升序排序:
^{pr2}$然后,循环查看DF,每次都能得到所需的零件:
这将为您提供以下信息:
相关问题 更多 >
编程相关推荐