小编tit*_*ata的帖子

更改Jupyter笔记本版4.x +徽标

在IPython笔记本版本中2.x,您可以通过自定义文件夹添加徽标,.ipython/profile_name/static/base/images/logo.png它将显示我们在笔记本的标题上创建的自定义徽标.

在Jupyter笔记本版本中4.x,我们知道他们将目录移到了.jupyter/ie .jupyter/base/.jupyter/custom/custom.css.但是,当我尝试自定义默认配置文件时~/.jupyter/base/images/logo.png,我无法再自定义徽标.

问题是:如何在Jupyter笔记本版本中自定义徽标4.x.我想知道是否有自定义Jupyter笔记本徽标(版本4.x)的解决方案.我在2.x下面的版本中放置了自定义笔记本徽标的示例快照.

例

python customization ipython-notebook jupyter jupyter-notebook

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

在Jupyter笔记本中刷新for循环输出

我想i在我的Jupyter笔记本上打印出来并将其冲洗掉.在下一次迭代之后,我将打印下一次i.我尝试了这个问题这个问题的解决方案,然而,它只打印出来0123...9而没有为我刷新输出.这是我的工作代码:

import sys
import time

for i in range(10):
    sys.stdout.write(str(i)) # or print(i, flush=True) ?
    time.sleep(0.5)
    sys.stdout.flush()
Run Code Online (Sandbox Code Playgroud)

这些是我的设置:ipython 5.1,python 3.6.也许,我错过了以前的解决方案?

python flush jupyter-notebook

6
推荐指数
2
解决办法
5766
查看次数

沿一个轴组合附近的边界框

在这里,我使用 Google Vision API 从下图中检测文本。红色框表示我想获得的组合边界框的样本。

在此处输入图片说明

基本上,我从上图中得到了文本输出和边界框。在这里,我想合并位于同一行(从左到右)的边界框和文本。例如,第一行将合并在一起:

[{'description': '?????????????????',
  'vertices': [(528, 202), (741, 202), (741, 222), (528, 222)]},
 {'description': '??????',
 'vertices': [(754, 204), (809, 204), (809, 222), (754, 222)]},
 ...
Run Code Online (Sandbox Code Playgroud)

[{'description': '??????????????????????',
  'vertices': [(528, 202), (809, 202), (809, 222), (528, 222)]},
 ...
Run Code Online (Sandbox Code Playgroud)

以下这些行

 {'description': 'RP',
  'vertices': [(729, 1072), (758, 1072), (758, 1091), (729, 1091)]},
 {'description': '8147',
  'vertices': [(768, 1072), (822, 1072), (822, 1092), (768, 1092)]},
 {'description': '3609',
  'vertices': [(834, 1073), (889, 1073), (889, 1093), (834, 1093)]},
 {'description': '7',
  'vertices': [(900, …
Run Code Online (Sandbox Code Playgroud)

python opencv python-3.x google-vision

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

将列表字典转换为键和值列表的有效方法

我有如下列表的字典(它可以超过1M个元素,也假设字典按键排序)

import scipy.sparse as sp
d = {0: [0,1], 1: [1,2,3], 
     2: [3,4,5], 3: [4,5,6], 
     4: [5,6,7], 5: [7], 
     6: [7,8,9]}
Run Code Online (Sandbox Code Playgroud)

我想知道什么是最有效的方式(大字典的最快方法)将其转换为行和列索引列表,如:

r_index = [0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 6, 6, 6]
c_index = [0, 1, 1, 2, 3, 3, 4, 5, 4, 5, 6, 5, 6, 7, 7, 7, 8, 9]
Run Code Online (Sandbox Code Playgroud)

以下是我到目前为止的一些解决方案:

  1. 使用迭代

    row_ind = [k for k, v in d.iteritems() for _ in range(len(v))] # or d.items() in …
    Run Code Online (Sandbox Code Playgroud)

python dictionary python-itertools

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

使用 Python 解析所有电子邮件正文 html

基本上,我想使用 Python 从我的 gmail 解析所有电子邮件正文。StackOverflow 上的解决方案很少,例如我找到的最接近的解决方案是这里他使用poplibPython 解析所有电子邮件。另外一个是这一个,他用.get_payload()获得电子邮件正文

然而,当我用用解析电子邮件poplib(从上面的例子),那么每封电子邮件我message.get_payload()得到电子邮件正文中,我得到的字符串是不一样的HTML代码的电子邮件本身,即它有串像3D= \namp;等在我的解析电子邮件正文。

我想知道这是否是POP协议的问题,所以我需要使用其他协议,例如imaplib(但我不知道如何解析所有电子邮件poplib)。或者,我可以修改给定的示例以获得正确的电子邮件正文。

python email

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

使用Altair增加条形图中的条形宽度

我有以下数据框,并想altair在Python中使用库来绘制我的条形图。但是,我不知道如何扩展每个小节的宽度(与中的width=0.5参数相同matplotlib)。

import pandas as pd 
from altair import * 

ls = [[   1,  734], [   2, 1705], [   3, 2309],
      [   4, 2404], [   5, 2022], [   6, 1538],
      [   7, 1095], [   8,  770], [   9,  485],
      [  10,  312], [  11,  237], [  12,  153],
      [  13,  103], [  14,   69], [  15,   47],
      [  16,   39], [  17,   43], [  18,   28],
      [  19,   18]]
df = pd.DataFrame(ls, columns=['n_authors', 'n_posters'])
Run Code Online (Sandbox Code Playgroud)

这是使用的绘图功能 …

python altair

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

Python:用于元组的Pandas DataFrame

这是为元组创建DataFrame的正确方法吗?(假设元组是在代码片段内创建的)

import pandas as pd
import numpy as np
import random

row = ['a','b','c']
col = ['A','B','C','D']

# use numpy for creating a ZEROS matrix
st = np.zeros((len(row),len(col))) 
df2 = pd.DataFrame(st, index=row, columns=col)

# CONVERT each cell to an OBJECT for inserting tuples
for c in col:
    df2[c] = df2[c].astype(object)

print df2

for i in row:
    for j in col:
        df2.set_value(i, j, (i+j, np.round(random.uniform(0, 1), 4)))

print df2
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我首先创建了一个zeros(3,4)numpy,然后在Pandas中使每个单元格成为OBJECT类型,这样我就可以插入元组了.这是正确的做法,还是有更好的ADD/RETRIVE元组到矩阵的解决方案?

结果很好:

   A  B  C  D
a  0  0  0 …
Run Code Online (Sandbox Code Playgroud)

python tuples numpy pandas

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

根据给定的索引合并列表中的元素

我想基于给定的元组的开始和停止索引(元组的非重叠)合并列表中的元素.我将留下未提及的指数.这是我的榜样

ls = ['1', '2', '3', '4', '5', '6', '7']
merge = [(1, 3), (5, 7)]
Run Code Online (Sandbox Code Playgroud)

在这里,我想将索引从[1:3]一起合并在一起,[5:7]因此输出应该类似于以下内容

['1', '23', '4', '5', '67']
Run Code Online (Sandbox Code Playgroud)

我试图循环使用,range(len(ls))但它似乎不是解决这个问题的正确方法.如果有人有简单的方法来解决这个问题,请告诉我.

python list

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

从命令行输出OpenNLP POSTagger

我想使用OpenNLP来标记泰语单词.我下载了OpenNLP和Thai tokenize模型并运行以下命令

./bin/opennlp POSTagger -lang th -model thai.tok.bin < sentence.txt > output.txt
Run Code Online (Sandbox Code Playgroud)

我把thai.tok.bin它下载到我调用的目录上并运行以下命令.sentence.txt里面有这个文字?????????????.但是,我得到的输出只有这些文字:

Usage: opennlp POSTagger model < sentences
Execution time: 0.000 seconds
Run Code Online (Sandbox Code Playgroud)

我很新OpenNLP,如果有人知道如何从中获取输出,请告诉我.

nlp opennlp

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