小编sun*_*ots的帖子

numpy中连续整数的总和不正确

100,000,000使用以下方法对第一个正整数求和:

import numpy as np
np.arange(1,100000001).sum()
Run Code Online (Sandbox Code Playgroud)

我返回:987459712,它与公式不匹配:N(N+1)/2for N=100000000。即,公式返回5000000050000000

在发布之前,我写了以下内容,返回True

np.arange(1,65536).sum() == ((65535+1) * 65535)/2
Run Code Online (Sandbox Code Playgroud)

然而,这个数字65536似乎是一个关键点,因为

np.arange(1,65537).sum() == ((65536+1) * 65536)/2
Run Code Online (Sandbox Code Playgroud)

返回False

对于大于65536代码的False整数返回,而低于此阈值的整数返回True

有人可以解释我在计算总和时做错了什么,或者代码发生了什么?

python numpy sum python-3.x

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

一行代表几乎冗余的列表理解

考虑两个列表推导gammadelta几乎冗余的代码.区别在于切片名单alphabeta,即

gamma = [alpha[i:i+30] for i in range(0,49980,30)]
delta = [beta[i:i+30] for i in range(0,49980,30)]
Run Code Online (Sandbox Code Playgroud)

是否有一种pythonic方式将其写成一个衬垫(比方说gamma,delta = ...)?

我还有一些其他类似的代码,它们本质上是相似的,我想简化代码的看似冗余.

python list-comprehension python-3.x

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

按索引组合矢量

我正在寻找一个输入两个长度为n的向量的函数,

即[:a:b:c:d:e:f] [1 2 3 4 5 6].输出一个长度为2n的向量

[:a 1:b 2:c 3:d 4:e 5:f 6].

但是,如果输入的第二个向量与n的长度不匹配,它将循环,

即[:a:b:c:d:e:f] [1 2 3]

输出:[:a 1:b 2:c 3:d 1:e 2:f 3].

 (defn Swanson [x y] (vec (flatten (interleave x (repeat (count x) y)))))
Run Code Online (Sandbox Code Playgroud)

此外,该函数也可以取[xy min max n],其中x和y是向量,min是开始交织的索引,max是结束交织的索引,n是交织的步长.

clojure clojure-contrib

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

从矢量中挑选"随机"元素

我希望从矢量中挑选出随机(即伪随机)元素.该函数将有一个输入,称之为r,它将选择要选择的元素数.此外,称为v的向量也必须是输入.这是我从未尝试过的,也不知道从哪里开始.

进入构造的假设将是r小于v中的元素数量.从v中选择的重复元素也不是问题.要明确的是,元素将是严格的数字,实际上它们将是浮点数,我希望在选择时保留该结构.

我尝试了一些类似的东西

(take 2 (iterate rand-nth [2 3 4 5 6 7]))
Run Code Online (Sandbox Code Playgroud)

但是从列表中返回向量和一个随机元素,即

([2 3 4 5 6 7] 7)
Run Code Online (Sandbox Code Playgroud)

来自java的一些类似帖子包括:如何在main中的所有声明对象中只选择一次该数组中的随机元素?

从List <E>中取n个随机元素?

clojure clojure-contrib

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

Incanter依赖

我正在尝试实现以下链接http://data-sorcery.org/category/pca/并发现自己陷入了尝试加载必要的Incanter库,即

(use '(incanter core stats charts datasets))
Run Code Online (Sandbox Code Playgroud)

我对Incanter的唯一依赖是[incanter "1.5.4"].这是否足以加载库,我只是遗漏了什么?

我不确定如何在链接中加载4个突出显示的库.要注意我之前在REPL中使用过Incanter.

编辑:我的文本编辑器具有以下内容

(ns my-namespace.filename
(:use [incanter.core]
      [incanter.stats]
      [incanter.charts]
      [incanter.datasets]))


(def iris (to-matrix (get-dataset :iris))) 
(view iris)
Run Code Online (Sandbox Code Playgroud)

它返回错误 CompilerException javax.net.ssl.SSLProtocolException: handshake alert: unrecognized_name, compiling:(pca.clj:11:22)

错误似乎源于内部部分,即get-dataset ...我不确定如何修复.

clojure incanter read-eval-print-loop

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

在clojure中运行D3.js.

我想学习如何通过Clojure运行JavaScript,特别是在Clojure中实现这个D3图.

在我尝试实现上面的图形方法时,我遇到了ClojureScript.但是,我对手头的问题一直没有成功.

ClojureScript是正确的方法吗?如果是这样,我将如何实现上述D3图表?

javascript clojure d3.js clojurescript

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

连接任意输入的函数

我想编写一个连接向量或矩阵的函数,它可以接受任意输入.为了组合两个向量,我编写了以下代码.它还可以组合矩阵,以便延长列.

(defn concats 
([x y] (vec (concat x y))))
Run Code Online (Sandbox Code Playgroud)

我被卡住的地方是将输入扩展到n个向量或矩阵,并组合矩阵以产生更长的行.

例)(某些函数[[:a:b] [:c:d]] [[1 2] [3 4]] 2]

[[:a :b 1 2] [:c :d 3 4]]
Run Code Online (Sandbox Code Playgroud)

输入中的2指定级别以进行连接.

clojure clojure-contrib

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

Clojure函数用于第一个差异,第二个差异,......,第n个差异

输入一个向量我想写一个函数,给出元素之间的连续差异.理想情况下,函数应输入向量x和指定第n个差异的参数n.

样本[xn]

输入1:[16 10 8 6 4 2] 1(第一个差异为1)

输出1:[ - 6 -2 -2 -2 -2]

输入2:[16 10 8 6 4 2] 2

输出2:[4 0 0 0 nil nil]

象征性地,这里是样本2的内容(意思是说明,而不是Clojure代码)

[abcdef] 2

[a-2b + c,b-2c + d,c-2d + e,d-2e + f]

clojure clojure-contrib

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

Clojure有没有类似于Mathematica的母猪/收获的功能?

Clojure中是否有函数,它模拟Mathemaica函数播种/收获?母猪和母猪的主要用途是收集在评估过程中产生的表达.

例)

在Mathematica中输入:收获[Sow [w = 2]; w + = Sow [w ^ 3]; w = Sqrt [w + w ^ 3]]

输出:{Sqrt [1010],{{2,8}}}

给出中间结果2和8.

clojure clojure-contrib

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

正则表达式编号和单位

我是regex的新手,但有一个想法是从输入字符串中提取数字和单位.我最初的想法是构建一系列可能的兴趣单元.然后查看输入的数字序列,然后是单位.但是,我不确定如何在正则表达式中结合数组和数字的想法.

我很可能计划使用core.matrix数组函数构造数组.虽然我不确定这是否是数字和单位的正则表达式耦合的最佳方法.

一个示例输入可能是"我们正在寻找100公斤袋装大米".

或者,可能"在这里我们发现了一袋100公斤的大米."

因此,数字和单位之间可能存在空白区域.

regex clojure

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