当前位置: 首页 > 面试题库 >

嵌套单词列表中的共现矩阵

阙博容
2023-03-14
问题内容

我有一个类似的名字列表:

names = ['A', 'B', 'C', 'D']

以及文档列表,在每个文档中都提到了其中一些名称。

document =[['A', 'B'], ['C', 'B', 'K'],['A', 'B', 'C', 'D', 'Z']]

我想获得输出作为共现矩阵,例如:

  A  B  C  D
A 0  2  1  1
B 2  0  2  1
C 1  2  0  1
D 1  1  1  0

R中有一个解决此问题的方法(创建共现矩阵),但我无法在Python中做到这一点。我正在考虑在Pandas进行此操作,但没有任何进展!


问题答案:

显然,可以根据您的目的进行扩展,但是它会执行以下常规操作:

import math

for a in 'ABCD':
    for b in 'ABCD':
        count = 0

        for x in document:
            if a != b:
                if a in x and b in x:
                    count += 1

            else:
                n = x.count(a)
                if n >= 2:
                    count += math.factorial(n)/math.factorial(n - 2)/2

        print '{} x {} = {}'.format(a, b, count)


 类似资料:
  • 问题内容: 试图了解如何在Firebase中实现嵌套列表。 可以解决的问题:1-to-N消息传递系统,对于每个消息,您希望维护一个已接收和阅读该消息的用户列表。 阅读了“ Firebase中阵列的最佳实践”。尝试避免使用数组,因为我要同时进行写操作,而在这里看来它们并不是一个好选择。 当前试图通过在每个消息下存储子树来实现此目的,每个子树是已接收,读取或以其他方式对消息 Y 执行某些操作 X 的用

  • 问题内容: 谁能告诉我如何在嵌套列表中调用索引? 通常我只写: 但是如果我有一个带有嵌套列表的列表,如下所示: 我想分别浏览每个索引? 问题答案: 如果您确实需要索引,则可以按照内部列表再次执行以下操作: 但是遍历列表本身是更pythonic的: 如果您确实需要索引,也可以使用:

  • 本文向大家介绍Markdown 嵌套列表,包括了Markdown 嵌套列表的使用技巧和注意事项,需要的朋友参考一下 示例 列表可以嵌套 八个空间 十二个空格 四个空间 然后回来

  • 我有一个有趣的两难处境: 我有一门课,假设它叫做文件柜。 FileCabinet存储文件的链接列表,称为“filesInCabinet”。 在每个文件中,还有另一个文件链接列表,称为“relatedFiles”。 所以它看起来像这样,例如: 文件柜1 文件1 文件3 文件3 文件1 文件2 文件2 我遇到的问题是,嵌套列表(“relatedFiles”)包含文件的单独实例,因此实际上更像: 文件柜

  • 问题内容: 我该如何打开一个列表,例如: 进入列表列表,例如: 即我想将有序元素分组在列表中,并将其保留在有序列表中。我怎样才能做到这一点? 谢谢 问题答案: 假设data_list的长度是三的倍数

  • 在测试类下面,我想过滤所有部分中的公共语言列表。 例如,测试有药剂列表P1和P2。P1有一个列表 最终输出应该是包含Ja和Zh语言的语言对象列表。