小编sur*_*dra的帖子

如何在python中按模式分组?

我试图通过使用下面的 Pandas 数据框根据模式查找该项目属于哪个类别

数据

   ITEM          CATEGORY
1  red saree     actual
2  red saree     actual
3  glass         lbh
4  glass         lbh
5  red saree     actual
6  red saree     lbh
7  glass         actual
8  bottle        actual
9  bottle        actual
Run Code Online (Sandbox Code Playgroud)

我想弄清楚的是通过获取我想根据类别模式为每个独特项目分配一个类别的独特项目。

预期输出:

  ITEM          CATEGORY
1 red saree     actual
2 glass         lbh
3 bottle        actual
Run Code Online (Sandbox Code Playgroud)

请告诉我如何在python中查找,提前致谢

试过:

import pandas as pd
from scipy.stats import mode
data_x = map(mode, data['category'])
Run Code Online (Sandbox Code Playgroud)

我知道它甚至与此无关,但无法找到如何为此编写代码

python scipy pandas

1
推荐指数
1
解决办法
7489
查看次数

如何在R中通过ID计算日期之间的平均差异

我有如下数据集,我想计算每个唯一 id 的平均时间差

data:
   membership_id created_date 
1       12000000 2015-01-20   
2       12000001 2012-11-19   
3       12000001 2013-10-07   
4       12000001 2014-03-06   
5       12000001 2015-01-14   
6       12000003 2013-02-08   
7       12000003 2014-03-06
8       12000000 2014-02-05
9       12000000 2012-01-06
Run Code Online (Sandbox Code Playgroud)

从上面的数据集中,我想计算每个唯一 ID 的日期之间的平均时间差

尝试过:

 library(plyr)
 data =data[order(data$membership_id,data$created_date),]
 result = ddply(data,.(membership_id),summarize, avg =  as.numeric(mean(diff(created_date))))
Run Code Online (Sandbox Code Playgroud)

当我应用小数据时,上面的代码工作正常,但我的数据集有 500 万行,并且花费了大量时间,而且仍然从过去 6 小时开始运行

预期输出:

  membership_id  avg_time_diff
 1 12000000       76 days
 2 12000001       56 days
 3 12000003       54 days
Run Code Online (Sandbox Code Playgroud)

r

1
推荐指数
1
解决办法
3724
查看次数

标签 统计

pandas ×1

python ×1

r ×1

scipy ×1