我有一个表格,其中包含与文章相关的关键字,如下所示:
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.
这个问题 …
有一个 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。