小编jka*_*imi的帖子

nltk stemmer:字符串索引超出范围

我有一套腌制的文本文档,我想用nltk来阻止它PorterStemmer.由于我的项目特定的原因,我想在django应用程序视图中进行干预.

但是,当阻止django视图中的文档时,我收到字符串的IndexError: string index out of range异常.因此,运行以下命令:PorterStemmer().stem()'oed'

# xkcd_project/search/views.py
from nltk.stem.porter import PorterStemmer

def get_results(request):
    s = PorterStemmer()
    s.stem('oed')
    return render(request, 'list.html')
Run Code Online (Sandbox Code Playgroud)

提出上述错误:

Traceback (most recent call last):
  File "//anaconda/envs/xkcd/lib/python2.7/site-packages/django/core/handlers/exception.py", line 39, in inner
    response = get_response(request)
  File "//anaconda/envs/xkcd/lib/python2.7/site-packages/django/core/handlers/base.py", line 187, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "//anaconda/envs/xkcd/lib/python2.7/site-packages/django/core/handlers/base.py", line 185, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/Users/jkarimi91/Projects/xkcd_search/xkcd_project/search/views.py", line 15, in get_results
    s.stem('oed')
  File "//anaconda/envs/xkcd/lib/python2.7/site-packages/nltk/stem/porter.py", line 665, in stem
    stem = self._step1b(stem) …
Run Code Online (Sandbox Code Playgroud)

nlp stemming porter-stemmer nltk

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

Django:将JSON从视图传递到模板

views.py,我将时间序列数据存储在字典中,如下所示:

time_series = {"timestamp1": occurrences, "timestamp2": occurrences}
Run Code Online (Sandbox Code Playgroud)

其中每个timestamp都在unix时间并且occurrences是一个整数.

有没有办法在时间render函数的上下文中将时间序列数据作为json对象传递?

为什么这样做:我在前端使用Cal-heatmap,要求数据采用json格式.Ajax请求现在工作得很好,但我理想的是希望尽可能使用这种render方法.

javascript django json django-1.7 cal-heatmap

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

如何修改conda'源激活'ps1行为

我目前的bash ps1如下:

bldred='\e[1;31m' # Red
bldcyn='\e[1;36m' # Cyan
bldwht='\e[1;37m' # White
txtrst='\e[0m'    # Text Reset - Useful for avoiding color bleed

export PS1="\n\[$bldred\]\u\[$txtrst\]@\[$bldwht\]\h\[$txtrst\]:\[$bldcyn\]\w\[$txtrst\]$ "
Run Code Online (Sandbox Code Playgroud)

但是,运行:

source activate <env-name-here>
Run Code Online (Sandbox Code Playgroud)

默认情况下,告诉condaenv-name将my 放在前面PS1

(<env-name-here>)
user@short-domain:fullpath$
Run Code Online (Sandbox Code Playgroud)

有没有办法告诉我在换行符后conda插入env-namePS1的代码呢?

bash .bash-profile ps1 conda

7
推荐指数
2
解决办法
4163
查看次数

单击:是否可以将多个输入传递给 CliRunner.invoke?

我有一个单击命令download,它会在下载一系列文件之前提示用户输入用户名和密码:

$ python download.py
Username: jkarimi91
Password: 1234
Download complete!
Run Code Online (Sandbox Code Playgroud)

要测试此命令,我需要能够分别将 ausername和 a传递passwordstdin. 该CliRunner.invoke()方法有一个input参数,但它不接受列表。是否可以将多个输入传递给CliRunner.invoke()

python command-line-interface python-2.7 python-click

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

python内存使用:txt文件比包含文件文本的python列表小得多

我有一个 543 MB 的 txt 文件,其中包含一行空格分隔的 utf-8 标记:

aaa algeria americansamoa appliedethics accessiblecomputing ada anarchism ...
Run Code Online (Sandbox Code Playgroud)

但是,当我将此文本数据加载到 python 列表中时,它使用了 ~8 GB 的内存(~900 MB 用于列表,~8 GB 用于令牌):

with open('tokens.txt', 'r') as f:
    tokens = f.read().decode('utf-8').split()

import sys

print sys.getsizeof(tokens)
# 917450944 bytes for the list
print sum(sys.getsizeof(t) for t in tokens)
# 7067732908 bytes for the actual tokens
Run Code Online (Sandbox Code Playgroud)

我预计内存使用量大约为文件大小 + 列表开销 = 1.5 GB。为什么令牌在加载到列表中时会消耗更多内存?

python memory nlp utf-8 python-2.7

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

字典键:自定义对象与列表

我读过列表不能是字典键,因为不能对可变对象进行散列。但是,自定义对象似乎也是可变的:

# custom object
class Vertex(object):
    def __init__(self, key):
        self.key = key

v = Vertex(1)
v.color = 'grey' # this line suggests the custom object is mutable
Run Code Online (Sandbox Code Playgroud)

但是,与列表不同,它们可以用作字典键;为什么是这样?在这两种情况下,我们不能简单地散列某种 id(例如对象在内存中的地址)吗?

python dictionary list

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

Tensorboard Embeddings:“解析元数据”挂起

我正在尝试使用张量板可视化嵌入,但嵌入选项卡似乎挂在“解析元数据”上。

我检查了代码、元数据 tsv 文件以及张量板projector_config.ptxt嵌入可视化教程;一切似乎都是正确的,张量板没有在终端中给我任何消息。

我用来生成嵌入和可视化的代码可以在这里找到。

我正在运行带有 GPU 支持的 python 2.7 的tensorflow 1.2.1。

python word2vec tensorflow tensorboard

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