Skip to main content
 首页 » 编程设计

python之从 R 到 Python 的 By 等价物

2025年05月04日8rubylouvre

我是 python 新手。 如果有人能告诉我如何在 python 中使用 by 来包装数据表,我将不胜感激

例如

tmp2=by(data =tmp,tmp$categorie, FUN = function(x) head(x, nb)) 
tmp2=do.call("rbind",tmp2) 

提前致谢,

从评论我完成我的帖子:

 d=d[,c('categorie','titre','permanent')] 
 > d 
     categorie titre permanent 
1          bro Vide-     false 
2          bro March     false 
3          bro Salon     false 
4          bro Puces     false 
5          bro Puces     false 
6          bro March     false 
2158       var   IAM     false 
2159       var Valer     false 
2160       zoo Aquar      true 
2161       zoo Menag      true 
2162       zoo Aquar      true 
2163       zoo Aquar      true 
 
> (tmp =by(data =d,d$categorie, FUN = function(x) head(x, 2))) 
d$categorie: bro 
  categorie titre permanent 
1       bro Vide-     false 
2       bro March     false 
------------------------------------------------------------------------------------  
d$categorie: var 
     categorie titre permanent 
2158       var   IAM     false 
2159       var Valer     false 
------------------------------------------------------------------------------------  
d$categorie: zoo 
     categorie titre permanent 
2160       zoo Aquar      true 
2161       zoo Menag      true 
>  
> (tmp2=do.call("rbind",tmp)) 
         categorie titre permanent 
bro.1          bro Vide-     false 
bro.2          bro March     false 
var.2158       var   IAM     false 
var.2159       var Valer     false 
zoo.2160       zoo Aquar      true 
zoo.2161       zoo Menag      true 

请您参考如下方法:

给定的 R 代码是 split-apply-combine 范例的示例:

  • 通过类别变量拆分 data.frame
  • 为每个组应用一个函数
  • 将结果合并到一个data.frame中

在 python 中,您可以使用 pandas 和 groupby 来做同样的事情:

import pandas as pd 
d = {'one' : [1., 2., 3., 4.],'two' : [1., 2., 3., 4.], 'group' : [1, 1, 2, 2]} 
df = pd.DataFrame(d) 
df.groupby(['group']).head(1)