相关疑难解决方法(0)

如何过滤在 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
查看次数

Python data.table 行过滤器正则表达式

相当于 %like% 的 python 的 data.table 是什么?

简短示例:

dt_foo_bar = dt.Frame({"n": [1, 3], "s": ["foo", "bar"]})  
dt_foo_bar[re.match("foo",f.s),:] #works to filter by "foo"
Run Code Online (Sandbox Code Playgroud)

我原以为这样的事情会起作用:

dt_foo_bar[re.match("fo",f.s),:] 
Run Code Online (Sandbox Code Playgroud)

但它返回“预期的字符串或类似字节的对象”。我很想开始在 Python 中使用新的 data.tables 包,就像我在 R 中使用它的方式一样,但我更多地处理文本数据而不是数字数据。

提前致谢。

python py-datatable

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

标签 统计

py-datatable ×2

python ×2