小编Ild*_*tov的帖子

使用pandas交叉制表每组关键字对之间的计数

我有一个表格,其中包含与文章相关的关键字,如下所示:

article_id  keyword
1           A
1           B
1           C
2           A
2           B
2           D
3           E
3           F
3           D
Run Code Online (Sandbox Code Playgroud)

我需要获得一种数据透视表:

    A   B   C   D   E   F
A   -   2   1   1   0   0
B   -   -   1   1   0   0
C   -   -   -   0   0   0
D   -   -   -   -   1   1
E   -   -   -   -   -   1
F   -   -   -   -   -   -
Run Code Online (Sandbox Code Playgroud)

这意味着,该对(A, B)出现在两篇文章(#1和#2)中,该对(A, C)出现在一篇文章中(#1)等.

最恐怖的方式是什么?

我尝试过Pandas数据透视表,但到目前为止还没有成功.只是无法获得如何连接关键字和文章ID.

这个问题 …

python group-by dataframe pandas pandas-groupby

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

PyMongo find() 使用 $or 和 $regex 进行查询

有一个 MongoDB 文档集合,其中包含有关书籍的信息。

我需要使用以下标准查找文档:

header包含子字符串)OR(author包含子字符串

在 mongo shell 中,我使用这个查询,它工作得很好

db.books.find({$or: [{author: {$regex: /.*substring.*/i}}, {header: {$regex: /.*substring.*/i}}]})
Run Code Online (Sandbox Code Playgroud)

我无法让它在 PyMongo 中工作。

这是我的代码:

search = 'substring'
search_request = {
        '$or':
            [
                {'author': {'$regex': f"/.*{search}.*/", '$options': 'i'}},
                {'header': {'$regex': f"/.*{search}.*/", '$options': 'i'}}
            ]
    } 
cursor = self.books.find(search_request)
Run Code Online (Sandbox Code Playgroud)

它什么也不返回。

我正在使用Python 3.7.0、PyMongo 3.7.1、MongoDB Server 3.2.11。

mongodb pymongo

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

标签 统计

dataframe ×1

group-by ×1

mongodb ×1

pandas ×1

pandas-groupby ×1

pymongo ×1

python ×1