小编use*_*144的帖子

使用选定的浏览器启动IPython笔记本

我试图用非默认浏览器启动IPython(在我的情况下是Firefox),并且我认为我可以复制复制该博客中给出的脚本

我在Windows 7上

我把以下代码放在一个文件中说"module.py"

import subprocess
subprocess.call("ipython notebook --no-browser", shell=True)
subprocess.call([r'C:\Program Files (x86)\Mozilla Firefox\Firefox.exe', '-new-tab', 'http://127.0.0.1:8888/'])
Run Code Online (Sandbox Code Playgroud)

但是,当我从命令行运行它时

 python C:\Users\mugabal\Desktop\module1.py
Run Code Online (Sandbox Code Playgroud)

它执行第一行而不是第二行(两行都单独工作)

我的问题(用更通用的术语)我如何启动一个进程并告诉它不要高举控制台窗口?

如果我已经监督了一个明显的解释,我提前道歉,但我在子流程文档和这个平台上都看了

-----更新-----

我应该补充一点,我试图用选定的浏览器启动IPython,但无法弄清楚如何让它工作

>ipython notebook --browser='C:\Program Files (x86)\Mozilla Firefox\Firefox.exe'
... 
[NotebookApp] The IPython Notebook is running at: http://127.0.0.1:8888/
...
**[NotebookApp] No web browser found: could not locate runnable browser.**
Run Code Online (Sandbox Code Playgroud)

确切地说,Windows命令提示符窗口中的以下命令按预期工作:

start firefox 
Run Code Online (Sandbox Code Playgroud)

ipython notebook --browser=firefox 
Run Code Online (Sandbox Code Playgroud)

不起作用(与上面相同的错误).

python windows subprocess ipython

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

使用NLTK的高效术语文档矩阵

我正在尝试使用NLTK和pandas创建一个术语文档矩阵.我写了以下函数:

def fnDTM_Corpus(xCorpus):
    import pandas as pd
    '''to create a Term Document Matrix from a NLTK Corpus'''
    fd_list = []
    for x in range(0, len(xCorpus.fileids())):
        fd_list.append(nltk.FreqDist(xCorpus.words(xCorpus.fileids()[x])))
    DTM = pd.DataFrame(fd_list, index = xCorpus.fileids())
    DTM.fillna(0,inplace = True)
    return DTM.T
Run Code Online (Sandbox Code Playgroud)

运行它

import nltk
from nltk.corpus import PlaintextCorpusReader
corpus_root = 'C:/Data/'

newcorpus = PlaintextCorpusReader(corpus_root, '.*')

x = fnDTM_Corpus(newcorpus)
Run Code Online (Sandbox Code Playgroud)

它适用于语料库中的少量小文件, 但当我尝试使用4,000个文件(每个大约2 kb)运行它时,它会给我一个MemoryError.

我错过了什么吗?

我使用的是32位python.(我在Windows 7,64位操作系统,Core Quad CPU,8 GB RAM).我真的需要使用64位这种大小的语料库吗?

python nltk pandas term-document-matrix

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

大熊猫中的频率表(如R中的plyr)

我的问题是如何计算熊猫中多个变量的频率.我从这个数据帧:

d1 = pd.DataFrame( {'StudentID': ["x1", "x10", "x2","x3", "x4", "x5", "x6",   "x7",     "x8", "x9"],
                       'StudentGender' : ['F', 'M', 'F', 'M', 'F', 'M', 'F', 'M', 'M', 'M'],
                 'ExamenYear': ['2007','2007','2007','2008','2008','2008','2008','2009','2009','2009'],
                 'Exam': ['algebra', 'stats', 'bio', 'algebra', 'algebra', 'stats', 'stats', 'algebra', 'bio', 'bio'],
                 'Participated': ['no','yes','yes','yes','no','yes','yes','yes','yes','yes'],
                  'Passed': ['no','yes','yes','yes','no','yes','yes','yes','no','yes']},
                  columns = ['StudentID', 'StudentGender', 'ExamenYear', 'Exam', 'Participated', 'Passed'])
Run Code Online (Sandbox Code Playgroud)

得到以下结果

             Participated  OfWhichpassed
 ExamenYear                             
2007                   3              2
2008                   4              3
2009                   3              2
Run Code Online (Sandbox Code Playgroud)

(1)我尝试过的一种可能性是计算两个数据帧并绑定它们

t1 = d1.pivot_table(values = 'StudentID', rows=['ExamenYear'], cols = ['Participated'], aggfunc = len)
t2 = d1.pivot_table(values …
Run Code Online (Sandbox Code Playgroud)

python group-by pandas

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

scipy dendrogram to json for d3.js tree visualization

我试图将scipy层次聚类的结果转换为json,以便在d3.js中显示这里的一个例子

以下代码生成具有6个分支的树形图.

import pandas as pd 
import scipy.spatial
import scipy.cluster

d = {'employee' : ['A', 'B', 'C', 'D', 'E', 'F'],
 'skillX': [2,8,3,6,8,10],
 'skillY': [8,15,6,9,7,10]}

d1 = pd.DataFrame(d)

distMat = xPairWiseDist = scipy.spatial.distance.pdist(np.array(d1[['skillX', 'skillY']]), 'euclidean')
clusters = scipy.cluster.hierarchy.linkage(distMat, method='single')
dendo  = scipy.cluster.hierarchy.dendrogram(clusters, labels = list(d1.employee), orientation = 'right')

dendo
Run Code Online (Sandbox Code Playgroud)

我的问题 如何以d3.js理解的格式表示json文件中的数据

{'name': 'Root1’, 
      'children':[{'name' : 'B'},
                  {'name': 'E-D-F-C-A',
                           'children' : [{'name': 'C-A',
                                         'children' : {'name': 'A'}, 
                                                      {'name' : 'C'}]
                                                 }
                   }
                   ]
}
Run Code Online (Sandbox Code Playgroud)

令人尴尬的事实是,我不知道我是否可以从树形图连接矩阵中提取这些信息以及如何提取 …

json scipy d3.js

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

d3.js控制力布局中的初始动画

我已经阅读了很多关于影响力布局的初始动画的内容,但恐怕我还没有理解它.

我已经找到了(并且可以实现)这个例子,关于如何有效地"停止"它.

但我的问题是,是否有可能控制它(即影响"强制停止"所需的时间?).

从文档中可以看出,alpha是要改变的参数,但它没有区别(我尝试了负值,零值和正值,没有任何明显的差异).

这是我想要做的事情的一个方面:yrscc 是我想要做的事情的小提琴.

var force = d3.layout.force()
    .nodes(d3.values(datax.nodes))
    .links(datax.links)
    .size([xViewPortArea.Width, xViewPortArea.Height])
    .linkDistance(xGraphParameters.xLinkDistance)
    .charge(xGraphParameters.xCharge)
    .on("tick", tick)
     .alpha(-5)  // HERE 
    .start();
Run Code Online (Sandbox Code Playgroud)

我的问题:

  • alpha的哪个值实际上会影响迭代次数?(我认为它的意思是"*如果值是非正的,并且强制布局正在运行,此方法会在下一个刻度上停止强制布局并在文档中调度"结束"
  • 在这个帖子中,一个函数由@JohnS提出,显然可以提供帮助.但我还没有明白应该把它叫做什么.

PS:另一个很酷的选择是在屏幕上显示图像,然后在这里计算背景中的最佳布局.但我放弃了尝试实施它

animation d3.js force-layout

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

列表中对的乘积之和

这是我的问题.给出一个清单

xList = [9, 13, 10, 5, 3]
Run Code Online (Sandbox Code Playgroud)

我想计算每个元素的总和乘以后续元素

sum([9*13, 9*10, 9*5 , 9*3]) + 
sum([13*10, 13*5, 13*3]) + 
sum([10*5, 10*3]) + 
sum ([5*3])
Run Code Online (Sandbox Code Playgroud)

在这种情况下,答案是608.

有没有办法做到这一点或许itertools本地numpy

以下是我提出的功能.它完成了这项工作,但它远非理想,因为我想添加其他东西.

    def SumProduct(xList):
        ''' compute the sum of the product 
        of a list 
        e.g. 
        xList = [9, 13, 10, 5, 3]
        the result will be 
        sum([9*13, 9*10, 9*5 , 9*3]) + 
        sum([13*10, 13*5, 13*3]) + 
        sum([10*5, 10*3]) + 
        sum ([5*3])
        '''
        xSum = 0
        for xnr, x in …
Run Code Online (Sandbox Code Playgroud)

python numpy python-itertools pandas

8
推荐指数
3
解决办法
1904
查看次数

R中有几个变量的频率表

我试图复制官方统计中经常使用的表,但到目前为止没有成功.给定像这样的数据帧:

d1 <- data.frame( StudentID = c("x1", "x10", "x2", 
                          "x3", "x4", "x5", "x6", "x7", "x8", "x9"),
             StudentGender = c('F', 'M', 'F', 'M', 'F', 'M', 'F', 'M', 'M', 'M'),
             ExamenYear    = c('2007','2007','2007','2008','2008','2008','2008','2009','2009','2009'),
             Exam          = c('algebra', 'stats', 'bio', 'algebra', 'algebra', 'stats', 'stats', 'algebra', 'bio', 'bio'),
             participated  = c('no','yes','yes','yes','no','yes','yes','yes','yes','yes'),  
             passed      = c('no','yes','yes','yes','no','yes','yes','yes','no','yes'),
             stringsAsFactors = FALSE)
Run Code Online (Sandbox Code Playgroud)

我想创建一个表格,显示每年,所有学生(所有)和女性,参与者和通过的人数.请注意下面的"ofwhich"指的是所有学生.

我想到的一张桌子看起来像这样:

cbind(All = table(d1$ExamenYear),
  participated      = table(d1$ExamenYear, d1$participated)[,2],
  ofwhichFemale     = table(d1$ExamenYear, d1$StudentGender)[,1],
  ofwhichpassed     = table(d1$ExamenYear, d1$passed)[,2])
Run Code Online (Sandbox Code Playgroud)

我相信在R.这种事情有更好的方法.

注意:我已经看过LaTex解决方案,但我没有使用这对我有用,因为我需要在Excel中导出表.

提前致谢

aggregate r frequency

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

在R中重塑数据.是否有可能有两个"价值变量"

我正在努力使用reshape包寻找一种方法"强制转换"数据帧,但在"value.var"中有两个(或更多)值.

这是我想要实现的一个例子.

df <- data.frame( StudentID = c("x1", "x10", "x2", 
                            "x3", "x4", "x5", "x6", "x7", "x8", "x9"),
              StudentGender = c('F', 'M', 'F', 'M', 'F', 'M', 'F', 'M', 'M', 'M'),
              ExamenYear    = c('2007','2007','2007','2008','2008','2008','2008','2009','2009','2009'),
              Exam          = c('algebra', 'stats', 'bio', 'algebra', 'algebra', 'stats', 'stats', 'algebra', 'bio', 'bio'),
              participated  = c('no','yes','yes','yes','no','yes','yes','yes','yes','yes'),  
              passed      = c('no','yes','yes','yes','no','yes','yes','yes','no','yes'),
              stringsAsFactors = FALSE)
Run Code Online (Sandbox Code Playgroud)

从df我可以创建以下数据帧:

tx <- ddply(df, c('ExamenYear','StudentGender'), summarize,
        participated = sum(participated      == "yes"),
        passed   = sum(passed      == "yes"))
Run Code Online (Sandbox Code Playgroud)

在重塑逻辑中,我有两个"值变量"参与并通过

我正在寻找在一个数据帧中组合以下信息的方法:

 dcast(tx, formula = ExamenYear ~ StudentGender, value.var …
Run Code Online (Sandbox Code Playgroud)

r plyr reshape

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

使用python查找搜索字符串在pdf文档中的哪个页面

我可以使用哪些python包来找出特定"搜索字符串"所在的页面?

我查看了几个python pdf包但无法弄清楚应该使用哪一个. PyPDF似乎没有这个功能,而PDFMiner似乎对这样简单的任务来说过分了.有什么建议?

更精确:我有几个PDF文档,我想提取字符串"Begin"和字符串"End"之间的页面.

python pdf pypdf

5
推荐指数
2
解决办法
6605
查看次数

来自数据库的加权边列表的图形

我有存储在数据库中的加权边列表.如何从中轻松创建图表(无需将其写入文件并阅读)

这里可再现

import sqlite3 
con = sqlite3.connect(":memory:")

with con:
    cur = con.cursor()    
    cur.execute("CREATE TABLE DATEN(Source TEXT, Target TEXT, Weight REAL)")
    cur.execute("INSERT INTO DATEN VALUES('X33', 'X20', 0.014)") 
    cur.execute("INSERT INTO DATEN VALUES('X32', 'X20', 0.024)") 
    cur.execute("INSERT INTO DATEN VALUES('X23', 'X20', 0.167)") 
    cur.execute("INSERT INTO DATEN VALUES('X23', 'X32', 0.015)") 
    cur.execute("INSERT INTO DATEN VALUES('X32', 'X33', 0.003)") 
    cur.execute("INSERT INTO DATEN VALUES('X23', 'X33', 0.035)")


cur.execute('SELECT * FROM DATEN')
data = cur.fetchall()
Run Code Online (Sandbox Code Playgroud)

我创建图表的尝试失败了:

import networkx as nx
G = nx.Graph()
for x in data:
     x1 = {'source': data[0][0], 'target': …
Run Code Online (Sandbox Code Playgroud)

python networkx

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