小编Ave*_*nus的帖子

如何在Python中计算包含字符串的两个列表的Jaccard相似度?

我有两个用户名列表,我想计算Jaccard相似度.可能吗?

线程显示了如何计算两个字符串之间的Jaccard相似度,但是我想将其应用于两个列表,其中每个元素是一个单词(例如,用户名).

python similarity python-3.x

10
推荐指数
4
解决办法
3万
查看次数

使Distraction Free模式在Pycharm/Intellij中显示行号

就像标题所暗示的那样,当我在PyCharm或Intellij中使用Distraction Free模式时,我看不到行号,即使我在设置中勾选了"行号"框.有没有办法让线号出现在Distraction Free模式下?

我正在使用Linux(Ubuntu),如果这有帮助(我看到一个Mac图片,其中行显示在Distraction Free模式),我的PyCharm版本是2016.2.3.

user-interface intellij-idea line-numbers pycharm phpstorm

9
推荐指数
2
解决办法
2388
查看次数

PyMongo:如何使用聚合更新集合?

这是这个问题的延续。

我正在使用以下代码从集合中查找C_a文本包含单词的所有文档StackOverflow,并将它们存储在另一个名为 的集合中C_b

import pymongo
from pymongo import MongoClient
client = MongoClient('127.0.0.1')  # mongodb running locally
dbRead = client['C_a']            # using the test database in mongo
# create the pipeline required 
pipeline = [{"$match": {"$text": {"$search":"StackOverflow"}}},{"$out":"C_b"}]  # all attribute and operator need to quoted in pymongo
dbRead.C_a.aggregate(pipeline)  #execution 
print (dbRead.C_b.count()) ## verify count of the new collection 
Run Code Online (Sandbox Code Playgroud)

这很有效,但是,如果我为多个关键字运行相同的代码段,结果会被覆盖。例如,我想收集C_b包含包含关键字的所有文件StackOverflowStackExchange以及Programming。为此,我只需使用上述关键字迭代代码段。但不幸的是,每次迭代都会覆盖前一次。

问题:如何更新输出集合而不是覆盖它?

另外:是否有避免重复的聪明方法,或者我必须在事后检查重复吗?

mongodb pymongo

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

由于已解决的错误,Google Document AI 训练失败

我正在使用 Google 的Document AI训练模型。训练失败并出现以下错误(为简单起见,我仅包含 JSON 文件的一部分,但该错误对于数据集中的所有文档都是相同的):

"trainingDatasetValidation": {
      "documentErrors": [
        {
          "code": 3,
          "message": "Invalid document.",
          "details": [
            {
              "@type": "type.googleapis.com/google.rpc.ErrorInfo",
              "reason": "INVALID_DOCUMENT",
              "domain": "documentai.googleapis.com",
              "metadata": {
                "num_fields": "0",
                "num_fields_needed": "1",
                "document": "5e88c5e4cc05ddb8.json",
                "annotation_name": "INCOME_ADJUSTMENTS",
                "field_name": "entities.text_anchor.text_segments"
              }
            }
          ]
        }
Run Code Online (Sandbox Code Playgroud)

我从这个错误中了解到的是,模型期望该字段INCOME_ADJUSTMENTS在文档中(至少)出现一次,但它发现它的实例为零。

这是可以理解的,除非我已经INCOME_ADJUSTMENTS在模式中将该字段定义为“可选一次”,即该字段可以出现零次或一次。

模式选项列表

我错过了什么吗?尽管该错误已在架构中得到解决,但为什么该错误仍然存​​在?

ps 我还尝试过“可选多个”(以及“必需一次”和“必需多个”),但错误仍然存​​在。

编辑:根据要求,以下是其中一个 JSON 文件的样子。请注意,此处没有 PII,因为详细信息(姓名、SSN 等)是合成数据。

google-cloud-platform cloud-document-ai

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

如何以更高效和pythonic的方式编写以下代码?

我有一个url列表:file_url_list,打印到这个:

www.latimes.com, www.facebook.com, affinitweet.com, ...
Run Code Online (Sandbox Code Playgroud)

还有另一个Top 1M url的列表:top_url_list,打印到这个:

[1, google.com], [2, www.google.com], [3, microsoft.com], ...
Run Code Online (Sandbox Code Playgroud)

我想找到多少网址中file_url_list都在top_url_list.我写了下面的代码,但我知道这不是最快的方法,也不是最蟒蛇的方法.

# Find the common occurrences
found = []
for file_item in file_url_list:
    for top_item in top_url_list:
        if file_item == top_item[1]:
            # When you find an occurrence, put it in a list
            found.append(top_item)
Run Code Online (Sandbox Code Playgroud)

我怎样才能以更高效,更pythonic的方式写出来?

python python-3.x

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

如何使用Python 3将lzma2(.xz)和zstd(.zst)文件解压缩到文件夹中?

我已经使用.bz2文件很长时间了。要将.bz2文件解压缩/解压缩到特定文件夹中,我一直在使用以下功能:

destination_folder = 'unpacked/'
def decompress_bz2_to_folder(input_file):
    unpackedfile = bz2.BZ2File(input_file)
    data = unpackedfile.read()
    open(destination_folder, 'wb').write(data)
Run Code Online (Sandbox Code Playgroud)

最近,我获得了带有.xz(不是.tar.xz)和.zst扩展名的文件的列表。我较差的研究技能告诉我,前者是lzma2压缩,后者是压缩Zstandard

但是,我找不到将这些档案的内容解压缩到一个文件夹中的简单方法(就像我对这些文件所做的那样.bz2)。

我怎么能够:

  1. 使用Python 3 将.xzlzma2)文件的内容解压缩到文件夹中吗?
  2. 使用Python 3 将.zstZstandard)文件的内容解压缩到文件夹中吗?

重要说明:我正在解压缩非常大的文件,因此,如果该解决方案考虑到任何潜在的Memory Errors,那就太好了。

python compression lzma python-3.x zstandard

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

如何规范化 1 到 10 之间的数组?

我有一个包含以下整数的 numpy 数组:

[10 30 16 18 24 18 30 30 21 7 15 14 24 27 14 16 30 12 18]
Run Code Online (Sandbox Code Playgroud)

我想将它们标准化为 1 到 10 之间的范围。

我知道规范化数组的一般公式是:

在此处输入图片说明

但是我应该如何在 1 到 10 之间缩放它们?

问题:将此数组规范化为 1 到 10 之间的值的最简单/最快的方法是什么?

python numpy python-3.x

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

Plotly 的 Scatterpolar:如何更改 theta 范围?

我正在使用 Plotly 的散点图来可视化多个数据集。

这是我的代码的一部分。下面,我创建了 scatterpolo 实例:

go.Scatterpolar(
    r=[dataset_dataframe['word_count'].median(),
       dataset_dataframe['char_count'].median(),
       dataset_dataframe['capitals'].median(),
       dataset_dataframe['num_exclamation_marks'].median(),
       dataset_dataframe['num_punctuation'].median()],

    name=dataset_name,
    theta=['No. of Words', 'No. of Characters', 'No. of Capitals', 'No. of Exclamation Marks', 'No. of Punctuations'],
    fill='toself',
    line=dict(color='brown'),
    subplot=subplot_name),
)
Run Code Online (Sandbox Code Playgroud)

我在这里将其放入布局中:

fig.update_layout(
    polar=dict(
    radialaxis=dict(visible=True, )),
    title='Dataset Statistics')
Run Code Online (Sandbox Code Playgroud)

我对多个数据框执行此操作,这使我可以轻松比较它们。结果很简洁,如下所示:

在此输入图像描述

不幸的是,似乎 的范围theta是使用每个散点实例的最大值自动计算的r

这不好,因为为了轻松比较数据集,我需要theta所有绘图都处于相同的范围内。

问题:如何将 的范围设置theta为自定义值,例如从 1 到 100?

python scatter-plot plotly

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

如何在Python中前后跟空格的文件中搜索单词?

我想逐行搜索一个特定单词的文件,但我想确保这个特定的单词前面跟着一个空格.

我知道我必须使用正则表达式来做到这一点.我一直在阅读这本指南,但令我感到困惑的是如何在同一个声明中同时应用前瞻和后瞻.

我怎样才能做到这一点?

counter = 0
out = open('out.txt', 'w')
with open(original_db, 'r') as db:
    for line in db:
        if re.search(word, line, re.IGNORECASE):
            counter += 1
            out.write(line)
print("Entries found for word: " + str(counter))
Run Code Online (Sandbox Code Playgroud)

python regex search python-3.x

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

Python:如何获取一个属于另一个列表的项目数

我有一个约3000项的清单.我们称之为listA.另有一份包含1,000,000件物品的清单.我们称之为listB.

我想查看listA属于多少项listB.例如,得到一个像这样的答案436.

显而易见的方法是使用嵌套循环查找每个项目,但这很慢,特别是由于列表的大小.

什么是最快和/或Pythonic方式来获取一个列表的项目的数量属于另一个?

python list python-3.x

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