小编blz*_*blz的帖子

在setuptools setup.py文件中引用installation_requires kwarg的requirements.txt

我有一个requirements.txt文件,我正在使用Travis-CI.看来愚蠢复制中都要求requirements.txtsetup.py,所以我希望到一个文件句柄传递给install_requires在kwarg setuptools.setup.

这可能吗?如果是这样,我该怎么做呢?

这是我的requirements.txt档案:

guessit>=0.5.2
tvdb_api>=1.8.2
hachoir-metadata>=1.3.3
hachoir-core>=1.3.3
hachoir-parser>=1.3.4
Run Code Online (Sandbox Code Playgroud)

python pip setuptools requirements.txt

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

如何获得pandas系列的元素逻辑NOT?

我有一个Series包含布尔值的pandas 对象.如何获得包含NOT每个值的逻辑的系列?

例如,考虑一个系列包含:

True
True
True
False
Run Code Online (Sandbox Code Playgroud)

我想要的系列将包含:

False
False
False
True
Run Code Online (Sandbox Code Playgroud)

这似乎应该相当简单,但显然我错了我的mojo =(

python boolean-logic pandas

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

如何恢复传递给multiprocessing.Process的函数的返回值?

在下面的示例代码中,我想恢复函数的返回值worker.我该怎么做呢?这个值存储在哪里?

示例代码:

import multiprocessing

def worker(procnum):
    '''worker function'''
    print str(procnum) + ' represent!'
    return procnum


if __name__ == '__main__':
    jobs = []
    for i in range(5):
        p = multiprocessing.Process(target=worker, args=(i,))
        jobs.append(p)
        p.start()

    for proc in jobs:
        proc.join()
    print jobs
Run Code Online (Sandbox Code Playgroud)

输出:

0 represent!
1 represent!
2 represent!
3 represent!
4 represent!
[<Process(Process-1, stopped)>, <Process(Process-2, stopped)>, <Process(Process-3, stopped)>, <Process(Process-4, stopped)>, <Process(Process-5, stopped)>]
Run Code Online (Sandbox Code Playgroud)

我似乎无法在存储的对象中找到相关属性jobs.

提前谢谢,blz

python python-multiprocessing

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

测试numpy数组中的每个元素是否位于两个值之间的简单方法?

我想知道是否有一种语法上简单的方法来检查numpy数组中的每个元素是否位于两个数字之间.

换句话说,就像numpy.array([1,2,3,4,5]) < 5回归一样array([True, True, True, True, False]),我想知道是否有可能做类似于此的事情:

1 < numpy.array([1,2,3,4,5]) < 5

......获得......

array([False, True, True, True, False])

我理解我可以通过布尔测试的逻辑链接来获得这个,但我正在研究一些相当复杂的代码,我正在寻找一个语法上干净的解决方案.

有小费吗?

python numpy

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

如何在保留矩阵尺寸的同时序列化numpy数组?

numpy.array.tostring似乎没有保留有关矩阵维度的信息(请参阅此问题),要求用户发出呼叫numpy.array.reshape.

有没有办法将numpy数组序列化为JSON格式,同时保留这些信息?

注意: 数组可能包含整数,浮点数或布尔值.期望转置数组是合理的.

注2: 这样做的目的是使用streamparse将numpy数组传递给Storm拓扑,以防这些信息最终变得相关.

python json numpy apache-storm

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

Image.show()不会显示图片

我正在运行python脚本,但它不会显示图片.

我在这个程序的目录中有一个apple.jpg图像,它应该显示图片,但事实并非如此.这是代码:

#!/usr/bin/env python

from PIL import Image

Apple = Image.open("apple.jpg")
Apple.show()
Run Code Online (Sandbox Code Playgroud)

我的操作系统是Ubuntu,这个程序刚刚完成而没有显示任何错误.

python python-imaging-library

34
推荐指数
3
解决办法
5万
查看次数

如何在pyplot图的特定区域设置背景颜色?

我已设法使用以下代码绘制一系列点:

plt = pp.figure()
for i in range(spt.shape[1]):
    spktrain = spt[0,i]
    for trial in spktrain:
        non_z = np.nonzero(trial)
        non_z = non_z[0]
        pp.plot(t[non_z], trial[non_z], 'bo')
Run Code Online (Sandbox Code Playgroud)

我想在图上放置交替的白色和灰色背景带,以便将数据与外部for循环的每次迭代分开.换句话说,我希望每个"spktrain"的数据都有自己的背景颜色(数据不重叠).

如何更改特定区域中图形的背景颜色?

matplotlib

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

Apache Samza和Apache Storm在用例方面有何不同?

我偶然发现了这篇文章,声称将Samza与Storm进行了对比,但似乎只是为了解决实现细节问题.

这两个分布式计算引擎的用例在哪些方面有所不同?每种工具都适合做什么工作?

apache-storm apache-samza

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

使用多个分隔符有效地分割字符串并保留每个分隔符?

我需要使用每个字符string.punctuationstring.whitespace作为分隔符来分割数据字符串.

此外,我需要将分隔符保留在输出列表中,在它们在字符串中分隔的项之间.

例如,

"Now is the winter of our discontent"
Run Code Online (Sandbox Code Playgroud)

应该输出:

['Now', ' ', 'is', ' ', 'the', ' ', 'winter', ' ', 'of', ' ', 'our', ' ', 'discontent']
Run Code Online (Sandbox Code Playgroud)

我不知道如何在不诉诸嵌套循环的狂欢的情况下如何做到这一点,这是不可接受的慢.我该怎么做?

python string

23
推荐指数
2
解决办法
5660
查看次数

提高多段扫描的OCR性能

我正在开展一个涉及提取以PDF格式存储的文本科学论文的项目.对于大多数论文而言,使用PDFMiner很容易实现,但一些较旧的论文将其文本存储为大图像.本质上,扫描纸张并且该图像文件(通常是PNG或JPEG)包括整个页面.

我尝试通过它的python-tesseract绑定使用Tesseract引擎,但结果非常令人失望.

在深入研究我对这个库的问题之前,我想提一下我对OCR库的建议持开放态度.似乎很少有本机python解决方案.

是一个这样的图像(JPEG),我试图提取文本.我在上面链接的python-tesseract google代码页上的示例代码段中提供了确切的代码.我应该提一下,文档有点稀疏,所以我的代码中很多选项中的一个很可能配置错误.任何建议(或深入教程的链接)将不胜感激.

是我尝试OCR的输出.

我的问题如下:

  1. 我正在使用的代码中有什么不是最理想的吗?有没有更好的方法呢?也许是另一个图书馆?
  2. 我可以执行哪种预处理来改善检测?这些图像都是B&W,但是我应该设置一个阈值并将其上方的任何内容设置为单值黑色,并将其下方的所有内容设置为空值白色?还要别的吗?
  3. 一个更具体的问题:通过对单个单词执行OCR可以提高性能吗?如果是这样,任何人都可以建议一种在图像文件中划分单个单词的方法(例如:上面链接的单词)并将它们提取到可以独立处理的单独图像中吗?
  4. 嵌入在PDF页面图像中的图形和其他图像是否会干扰OCR?我应该删除这些吗?如果是这样,有人可以建议一种自动删除它们的方法吗?

编辑: 为简单起见,这是我使用的代码.

import tesseract
api = tesseract.TessBaseAPI()
api.Init(".","eng",tesseract.OEM_DEFAULT)
api.SetPageSegMode(tesseract.PSM_AUTO)

mImgFile = "eurotext.jpg"
mBuffer=open(mImgFile,"rb").read()
result = tesseract.ProcessPagesBuffer(mBuffer,len(mBuffer),api)
print "result(ProcessPagesBuffer)=",result
Run Code Online (Sandbox Code Playgroud)

这里是替代代码(其结果未在此问题中显示,尽管性能似乎非常相似).

import cv2.cv as cv
import tesseract

api = tesseract.TessBaseAPI()
api.Init(".","eng",tesseract.OEM_DEFAULT)
api.SetPageSegMode(tesseract.PSM_AUTO)

image=cv.LoadImage("eurotext.jpg", cv.CV_LOAD_IMAGE_GRAYSCALE)
tesseract.SetCvImage(image,api)
text=api.GetUTF8Text()
conf=api.MeanTextConf()
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释这两个片段之间的差异吗?

python ocr tesseract

22
推荐指数
2
解决办法
4712
查看次数