小编Pas*_*ten的帖子

R输出没有[1],如何很好地格式化?

我知道东西已经发布了,但没有我想要的那么完整.

采取任何帮助功能(即?mean),并意识到它的输出(或至少输出应该能够以相同的方式生成).

你如何进入,对齐/意图?

例:

strings <- c("t", "df", "p-value", "mean of x", "mean of y")
values  <- c(t, df, pvalue, mean1, mean2)
Run Code Online (Sandbox Code Playgroud)

如果这是你想要在R中输出的东西(当从函数调用时),你如何使[1]消失,并且值排成一行?

formatting r output

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

使用elasticsearch-py记录

我想记录我python使用的脚本elasticsearch-py.特别是,我想要三个日志:

  1. 常规日志:记录INFO和上面stdout的文件和文件.
  2. ES日志:仅ES与文件相关的消息.
  3. ES跟踪日志:扩展ES日志记录(例如,卷曲查询及其输出)仅限于文件.

这是我到目前为止:

import logging
import logging.handlers

es_logger = logging.getLogger('elasticsearch')
es_logger.setLevel(logging.INFO)
es_logger_handler=logging.handlers.RotatingFileHandler('top-camps-base.log',
                                                          maxBytes=0.5*10**9,
                                                          backupCount=3)
es_logger.addHandler(es_logger_handler)

es_tracer = logging.getLogger('elasticsearch.trace')
es_tracer.setLevel(logging.DEBUG)
es_tracer_handler=logging.handlers.RotatingFileHandler('top-camps-full.log',
                                                       maxBytes=0.5*10**9,
                                                       backupCount=3)
es_tracer.addHandler(es_tracer_handler)

logger = logging.getLogger('mainLog')
logger.setLevel(logging.DEBUG)
# create file handler
fileHandler = logging.handlers.RotatingFileHandler('top-camps.log',
                                                   maxBytes=10**6,
                                                   backupCount=3)
fileHandler.setLevel(logging.INFO)
# create console handler
consoleHandler = logging.StreamHandler()
consoleHandler.setLevel(logging.INFO)
# create formatter and add it to the handlers
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
consoleHandler.setFormatter(formatter)
fileHandler.setFormatter(formatter)
# add …
Run Code Online (Sandbox Code Playgroud)

python logging elasticsearch

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

如何优雅地忽略Python函数的某些返回值?

有时函数会给出一个您只想丢弃的返回值,而不是发送到输出流.处理这个问题的优雅方法是什么?

请注意,我们正在讨论的函数会返回一些您无法更改的函数.

def fn():
    return 5
Run Code Online (Sandbox Code Playgroud)

我个人以前使用null过,但我正在寻找一种更加pythonic的方式:

null = fn()
Run Code Online (Sandbox Code Playgroud)

python return-value

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

Braintree多个设置调用在多个onPaymentMethodReceived事件中产生

我正在使用角度,在angularUI模式窗口中,我想显示Braintree中的Drop In表单以获得付款方式.因此,我创建了通常的form(partial.html):

<form id="creditCard" >
   <div id="dropin"></div>  
   <button type="submit" id="btnPay" >Pay</button>  
</form>
Run Code Online (Sandbox Code Playgroud)

然后我用这个显示模态:

var modalInstance = $modal.open({
   templateUrl: 'partial.html',
   controller: 'ModalController'
});
Run Code Online (Sandbox Code Playgroud)

ModalController包含对Braintree设置的调用:

braintree.setup($scope.clientToken, 'dropin', {
   container: 'dropin',
   onPaymentMethodReceived: function (result) {
       $scope.$apply(function() {
           $scope.success = true;
           // Do something else with result
       });
   }
});
Run Code Online (Sandbox Code Playgroud)

这将很好地显示braintree的Drop In表单(设置生成表单)并接受信用卡和到期日期,到目前为止一切正常.

问题是,每次调用模态时,都会执行ModalController,因此braintree.setup()也会执行.然后,当我输入信用卡号码和到期日期并点击付款时,onPaymentMethodReceived()每次设置执行都会触发一次事件!也就是说,如果我第一次调用模态,它将触发事件一次,第二次触发它两次,依此类推.就像每次调用setup时一样,会创建一个新的事件挂钩.

有关如何避免这种情况的任何想法?有没有办法"解除绑定" onPaymentMethodReceived()事件处理程序?我需要多次调用设置,因为每次调用模态时,clientToken可能已经更改.

感谢您提供帮助的任何帮助或指针.

javascript braintree angularjs

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

在Python中排序集合与排序列表之间的时序差异很大

我想知道我是否应该将我的数据结构作为集合或列表.大多数情况下我会设置操作,但最后我需要对其进行排序.

我想知道我是否应该首先将集合设置为列表,然后使用sorted(list(my_set)),或者立即对集合进行排序sorted(my_set).可以说,我可能会考虑一般的"列表"阶段,因为在那个时间点有一个有序的可迭代可能有意义.

所以我决定测试它,希望列表更快.

Benchmarker:

import time
def sorter(x):
    t1 = time.time()
    for i in range(1000000):
        sorted(x)
    return time.time() - t1
Run Code Online (Sandbox Code Playgroud)

数据:

one = range(1000)
a1 = list(one)
b1 = set(one)
sorter(a1)
# time: 16.5 s 
sorter(b1)
# time: 20.7 s
Run Code Online (Sandbox Code Playgroud)

然后我意识到这可能与元素已经存在的事实有关,并且记住了这个惊人的问题和答案.

然后,我尝试了一些随机数据:

two = numpy.random.randint(1, 1000, 1000)
a2 = list(two)
b2 = set(two)
Run Code Online (Sandbox Code Playgroud)

结果如下:

sorter(a2)
# time: 4min 49s
sorter(b2)
# time: 18.9 s
Run Code Online (Sandbox Code Playgroud)

巨大的差异,发生了什么?

额外奖励:它甚至出现在一分钟的时间,这sorted(set(a_list))比以前快得多sorted(a_list).

实际上,在第二种情况下,可以存在可以过滤的重复,从而加快排序.

sorting list set python-2.7

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

Emacs&LaTeX:表/矩阵/数组的列数

有人会建议如何去做:

\begin{array}{cc}
Lorem & Ipsum \\
More & Stuff \\
\end{array}
Run Code Online (Sandbox Code Playgroud)

其中添加或删除c,lr在部件阵列之后将添加或删除&从在阵列环境中的所有行.

基本上,相同的技巧可以应用于矩阵或表格环境.

至少我会对其他人如何处理这个"容易出错","难以有效改变"的任务感兴趣.

arrays emacs latex matrix

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

为R自定义ESS环境

我正在尝试优化我的ESS -R环境.到目前为止,我使用r-autoyas,我设置了意图和后续样式指南,在迷你缓冲区中有eldoc提示函数参数,我可以选择按键以查找有关变量的信息点(更多这里).

你有没有其他的东西可以拥有一个漂亮的R环境?也许非ESS人员可以添加一些不错的东西(我从Eclipser那里得到了变量信息).一个例子可以是一种简单的方法来插入"之前定义的"变量而不输入变量名称(应该是什么?).

(请帮助我改变问题而不是"关闭"线程,如果它没有很好地制定)

emacs environment r ess

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

Python ++的C++向量

我想[1,2,3,4]从C++脚本中获取一个python列表.我编写了C++脚本,它返回一个向量.

如何在没有SWIG/SIP/Cython /等的情况下连接两端?

将C++编译为.exe或elf文件,然后从命令行调用,让.exe创建一个包含向量的.txt并用python读取它会更容易吗?

我的观点是,我只需要一个非常小的C++函数来对大量数据进行繁重的计算.这样做最不痛苦,最短的方法是什么?

编辑: 举个例子.Python将为C++("foo.txt")提供一个文件名字符串,然后读取文件的上下文(200,000行乘300列),计算缺失数,然后返回Python每行的缺失量.这会产生200,000个数字的列表.如何在他们两人之间进行这种沟通?

只是为了完整,这是我仍然想知道如何去做:

  • 将python文件名字符串传递给C++
  • 在C++中接收python字符串
  • DONE用C++创建向量
  • 将向量返回到Python
  • 在Python中接收矢量

c++ python cpython cython

8
推荐指数
2
解决办法
3680
查看次数

使用C++中的Fortran格式迭代文本文件

我正在制作一个处理txt文件数据的应用程序.

这个想法是txt文件可能有不同的格式,应该读入C++.

一个例子可能是3I2, 3X, I3,应该这样做:"首先我们有3个长度为2的整数,然后我们有3个空点,然后我们有1个长度为3的整数.

是最好迭代文件,产生线,然后迭代线作为字符串?什么是一个有效的方法迭代巧妙地省略3个点被忽略?

例如

101112---100
102113---101
103114---102
Run Code Online (Sandbox Code Playgroud)

至:

10, 11, 12, 100
10, 21, 13, 101
10, 31, 14, 102
Run Code Online (Sandbox Code Playgroud)

c++ parsing fortran text-parsing

8
推荐指数
4
解决办法
2353
查看次数

有没有办法让python脚本"知道"它是否被管道传输?

myscript.py

import sys
if something_to_read_from_stdin_aka_piped_to:
    cmd = sys.stdin.read()
    print(cmd)
else:
    print("standard behavior")
Run Code Online (Sandbox Code Playgroud)

Bash示例:

echo "test" | python myscript.py
Run Code Online (Sandbox Code Playgroud)

如果它没有被管道传输,它就会挂起.

知道脚本应该或不应该从stdin读取的方法是什么?我希望除了脚本的命令行参数之外还有一些明显的东西.

python pipe

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