小编Pas*_*sha的帖子

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
查看次数

如何删除 python 数据表 h2oai 中的重复项

python中的数据表包(https://github.com/h2oai/datatable/)可以计算列中唯一值的数量,有没有办法用这个包删除重复值,或者我必须使用慢速的pandas包裹?

python duplicates py-datatable

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

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

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

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
查看次数

为什么派生类不能用来代替基类,作为模板参数?

在下面的代码片段中,我有一个模板函数foo(),它将指向某个对象的指针作为模板参数.

class P {};
class Q : public P {};

P p;
Q q;

template <P*> void foo() {}

void test() {
  foo<&p>();
  foo<&q>();
}
Run Code Online (Sandbox Code Playgroud)

根据文档,这应该工作提供

对于指向对象的指针,模板参数必须指定具有静态存储持续时间和链接(内部或外部)的完整对象的地址,或者计算为适当的空指针或std :: nullptr_t值的常量表达式.

由于有问题的对象必须具有静态存储持续时间,因此我将其全局定义.但是,编译器抱怨第二次调用foo():

test.cc:66:7: error: no matching function for call to 'foo'
      foo<&q>();
      ^~~~~~~
test.cc:62:26: note: candidate template ignored: invalid
explicitly-specified argument for template parameter 'p'
    template <P* p> void foo() {}
Run Code Online (Sandbox Code Playgroud)

我不明白为什么会这样,为什么禁止这样的使用?

c++ templates c++11

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

标签 统计

py-datatable ×3

python ×3

c++ ×1

c++11 ×1

duplicates ×1

templates ×1