小编mya*_*cia的帖子

在 google colab 机器中安装新数据表版本 1.0.0 时出错

我可以看到今天刚刚发布了新版本的数据表,我正在尝试将其安装在一台 google colab 机器上。

!pip install datatable
Run Code Online (Sandbox Code Playgroud)

它显示错误如下:

    Collecting datatable
  Using cached https://files.pythonhosted.org/packages/04/0c/bff6497afcf95a3257c4168b95c8acab91c8ef234fe473eaf6689d582da1/datatable-1.0.0.tar.gz
  Getting requirements to build wheel ... done
ERROR: Exception:
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/dist-packages/pip/_internal/cli/base_command.py", line 153, in _main
    status = self.run(options, args)
  File "/usr/local/lib/python3.7/dist-packages/pip/_internal/commands/install.py", line 382, in run
    resolver.resolve(requirement_set)
  File "/usr/local/lib/python3.7/dist-packages/pip/_internal/legacy_resolve.py", line 201, in resolve
    self._resolve_one(requirement_set, req)
  File "/usr/local/lib/python3.7/dist-packages/pip/_internal/legacy_resolve.py", line 365, in _resolve_one
    abstract_dist = self._get_abstract_dist_for(req_to_install)
  File "/usr/local/lib/python3.7/dist-packages/pip/_internal/legacy_resolve.py", line 313, in _get_abstract_dist_for
    req, self.session, self.finder, self.require_hashes
  File "/usr/local/lib/python3.7/dist-packages/pip/_internal/operations/prepare.py", line 224, in prepare_linked_requirement
    req, self.req_tracker, finder, …
Run Code Online (Sandbox Code Playgroud)

py-datatable

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

如何过滤在 Pydatatable 框架的 I 表达式中传递的多个值的观察结果?

我有一个包含两列的数据框,如下所示,

DT_EX = dt.Frame({'film':['Don','Warriors','Dragon','Chicago','Lion','Don','Chicago','Warriors'],
                  'gross':[400,500,600,100,200,300,900,1000]})
Run Code Online (Sandbox Code Playgroud)

在第一种情况下,我想过滤电影是唐或芝加哥的观察,如下代码所示,

DT_EX[((f.film=="Don") | (f.film=="Chicago")),:]
Run Code Online (Sandbox Code Playgroud)

在一秒钟内,我将为 3 个值应用过滤器,

DT_EX[((f.film=="Don") | (f.film=="Chicago") | (f.film=="Lion")),:]
Run Code Online (Sandbox Code Playgroud)

在过滤超过 5 或 10 个值的情况下,我们应该为这些多个值做一个逻辑表达式,这肯定是一项耗时的任务。

是否有任何数据表方法可以更快地完成它?就像%in% %chin%在 R 中有一些过滤选项可用data.table

python py-datatable

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

如何在R中的数据帧的每一列中过滤NA

我有一个小玩意儿

DF_TEST = tibble('country'=c('a','a','a','a'),
'id'=c(3,3,3,3),
'shop'=c('dmart','dmart','dmart','dmart'),
'beef'=c(23,NA,NA,NA),
'eggs'=c(NA,33,NA,NA),
'fork'=c(NA,NA,10,NA),
'veg'=c(NA,NA,NA,40))
Run Code Online (Sandbox Code Playgroud)

这里的输出为,

  country    id shop   beef  eggs  fork   veg
  <chr>   <dbl> <chr> <dbl> <dbl> <dbl> <dbl>
1 a           3 dmart    23    NA    NA    NA
2 a           3 dmart    NA    33    NA    NA
3 a           3 dmart    NA    NA    10    NA
4 a           3 dmart    NA    NA    NA    40
Run Code Online (Sandbox Code Playgroud)

我想通过保留一个侧面 NA 来转换这个 tibble 如下

  country    id shop   beef  eggs  fork   veg
  <chr>   <dbl> <chr> <dbl> <dbl> <dbl> <dbl>
1 a           3 dmart …
Run Code Online (Sandbox Code Playgroud)

r dplyr

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

如何在数据表框架中按组查找唯一值

我创建了一个数据表框架如下,

DT_EX = dt.Frame({'cid':[1,2,1,2,3,2,4,2,4,5],
                  'cust_life_cycle':['Lead','Active','Lead','Active','Inactive','Lead','Active','Lead','Inactive','Lead']})
Run Code Online (Sandbox Code Playgroud)

在这里,我有三个独特的客户生命周期,这些计数中的每一个都被发现为

DT_EX[:, count(), by(f.cust_life_cycle)]
Run Code Online (Sandbox Code Playgroud)

连同它,我有五个客户 ID,这些计数如下

DT_EX[:, count(), by(f.cid)]
Run Code Online (Sandbox Code Playgroud)

现在我想看看每个客户生命周期中存在多少个唯一客户 ID,

DT_EX[:, {'unique_cids':dt.unique(f.cid)}, by(f.cust_life_cycle)]
Run Code Online (Sandbox Code Playgroud)

它应该显示为潜在客户有 3 个唯一客户 ID,例如 (1,2,5),活动用户有 2 个唯一客户 ID (2,4),依此类推。

我无法按预期得到它,你能告诉我如何修复它吗?

仅供参考:我试图在 R data.table 框架上重现相同的内容,它的工作原理。

DT_EX[, uniqueN(cid), by=cust_life_cycle]
Run Code Online (Sandbox Code Playgroud)

python py-datatable

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

如何拆分列表列并将它们添加为极坐标数据框中的新列值?

我有一个数据框如下。

pl.DataFrame({'combine_address':[ ["Yes|#456 Lane|Apt#4|ABC|VA|50566", "Yes|#456 Lane|Apt#4|ABC|VA|50566", "No|#456 Lane|Apt#4|ABC|VA|50566"],
                                 ["No|#8495|APT#94|SWE|WA|43593", "No|#8495|APT#94|SWE|WA|43593", "Yes|#8495|APT#94|SWE|WA|43593"]
                                ]})

Run Code Online (Sandbox Code Playgroud)

这里组合地址是一个列表类型列,其中包含大约 6 个管道(|)值的元素,这里我想使用列表中的分隔符(|)对每个元素进行分割。

这是预期的输出:

在此输入图像描述

如果列表有 3 个元素,则拆分列将为 3*6=18

如果列表有 5 个元素,则拆分列将为 5*6=30,依此类推。

python python-polars

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

如何比较 python 极坐标中行的日期值?

我有一个数据框,出生日期为

pl.DataFrame({'idx':[1,2,3,4,5,6],
              'date_of_birth':['03/06/1990','3/06/1990','11/12/2000','01/02/2021','1/02/2021','3/06/1990']})
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

在这里,我想比较每行的出生日期(格式:月/日/年),如果月份相等,例如 03 - 3、01 -1,则标记 yes。

有日期 03/06/1900、3/06/1990,它们通常是相同的。但在这里它们被视为不同的。如何弄清楚这些场景?

预期输出为:

在此输入图像描述

python pandas python-polars

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

标签 统计

python ×4

py-datatable ×3

python-polars ×2

dplyr ×1

pandas ×1

r ×1