【发布时间】:2016-06-30 08:06:56
【问题描述】:
我正在处理两个文本文件。一个包含 58 个单词的列表 (L1),另一个包含 1173 个短语 (L2)。我想检查for i in range(len(L1)) 和for j in range(len(L1)) 在L2 中的共现。
例如:
L1 = ['b', 'c', 'd', 'e', 't', 'w', 'x', 'y', 'z']
L2 = ['the onion', 'be your self', 'great zoo', 'x men', 'corn day']
for i in range(len(L1)):
for j in range(len(L1)):
for s in range(len(L2)):
if L1[i] in L2[s] and L1[j] in L2[s]:
output = L1[i], L1[j], L2[s]
print output
输出(例如 'be your self' 来自 L2):
('b', 'b', 'be your self')
('b', 'e', 'be your self')
('b', 'y', 'be your self')
('e', 'b', 'be your self')
('e', 'e', 'be your self')
('e', 'y', 'be your self')
('y', 'b', 'be your self')
('y', 'e', 'be your self')
('y', 'y', 'be your self')
输出显示我想要的,但为了可视化数据,我还需要返回时间 L1[j]concurs 和 L1[i]。
例如:
b e y
b 1 1 1
e 1 2 1
y 1 1 1
我应该使用pandas 还是numpy 来返回这个结果?
我发现了这个关于共现矩阵的问题,但我没有找到具体的答案。 efficient algorithm for finding co occurrence matrix of phrases
谢谢!
【问题讨论】:
-
你能用字典代替吗?
{'bb': 1, 'be': 1, ... etc} -
我很困惑,您的矩阵输出中的计数对应于什么? “做你自己”有两个e没关系吗?您希望所有计数都在一个集合中,还是希望每个短语都有一个集合?
-
这很重要,对不起。我刚刚编辑。我想要每个短语的集合。
标签: python python-2.7 numpy pandas matrix