小编aba*_*ter的帖子

密码保护SPECIFIC Jupyter笔记本

文档介绍了如何创建密码来保护您的Jupyter笔记本电脑。我希望能够使用该笔记本的特殊密码创建和共享该笔记本。这可能吗?

python ipython ipython-notebook jupyter jupyter-notebook

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

Python多处理:限制使用的核心数

我想知道如何将N个独立任务分配给具有L个核心的机器上的M个处理器,其中L> M. 我不想使用所有处理器,因为我仍然希望I/O可用.我试过的解决方案似乎被分发到所有处理器,使系统陷入困境.

我假设多处理模块是可行的方法.

我做数值模拟.我的背景是物理学,而不是计算机科学,所以不幸的是,我经常不完全理解涉及标准任务模型的讨论,如服务器/客户端,生产者/消费者等.

以下是我尝试过的一些简化模型:

假设我有一个run_sim(**kwargs)运行模拟的函数(参见下面的内容),以及用于模拟的一长串kwargs,我有一个8核机器.

from multiprocessing import Pool, Process

#using pool
p = Pool(4)
p.map(run_sim, kwargs)

# using process
number_of_live_jobs=0
all_jobs=[]
sim_index=0
while sim_index < len(kwargs)+1:
   number_of_live_jobs = len([1 for job in all_jobs if job.is_alive()])
   if number_of_live_jobs <= 4:
      p = Process(target=run_sim, args=[], kwargs=kwargs[sim_index])
      print "starting job", kwargs[sim_index]["data_file_name"]
      print "number of live jobs: ", number_of_live_jobs
      p.start()
      p.join()
      all_jobs.append(p)
      sim_index += 1
Run Code Online (Sandbox Code Playgroud)

当我用"顶部"然后"1"查看处理器使用情况时,无论如何,所有处理器似乎都被使用了.我错误地解释了"top"的输出并不是不可能的,但如果run_simulation()处理器密集,那么机器会严重陷入困境.

假设模拟和数据:

# simulation kwargs
numbers_of_steps = range(0,10000000, 1000000)
sigmas = [x …
Run Code Online (Sandbox Code Playgroud)

python multiprocessing

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

Javascript相当于python的.format()

我想要一个模仿python .format()函数的javascript函数

.format(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)

前一个问题为'.format(*args)提供了一个可能的(但不是完整的)解决方案

JavaScript等效于printf/string.format

我希望能够做到

"hello {} and {}".format("you", "bob"
==> hello you and bob

"hello {0} and {1}".format("you", "bob")
==> hello you and bob

"hello {0} and {1} and {a}".format("you", "bob",a="mary")
==> hello you and bob and mary

"hello {0} and {1} and {a} and {2}".format("you", "bob","jill",a="mary")
==> hello you and bob and mary and jill
Run Code Online (Sandbox Code Playgroud)

我意识到这是一个很高的订单,但也许某个地方有一个包含关键字参数的完整(或至少部分)解决方案.

哦,我听说AJAX和JQuery可能有这方面的方法,但我希望能够在没有这些开销的情况下完成它.

特别是,我希望能够将其与google doc的脚本一起使用.

谢谢

javascript python string formatting string-formatting

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

这个Python"静态变量"黑客可以使用吗?

一个经常被问到的问题是Python中的函数内部是否存在静态变量.有许多答案,例如使用嵌套函数,装饰器等创建包装类.

我找到的最优雅的解决方案之一就是这个,我稍作修改:

def foo():
    # see if foo.counter already exists
    try: test = foo.counter
    # if not, initialize it to whatever
    except AttributeError: foo.counter = 0

    # do stuff with foo.counter
    .....
    .....
Run Code Online (Sandbox Code Playgroud)

例:

static.py

def foo(x):
    # see if foo.counter already exists
    try: test = foo.counter
    # if not, initialize it to whatever
    except AttributeError: foo.counter = 0

    foo.counter += x

    print(foo.counter)

for i in range(10):
    foo(i)
Run Code Online (Sandbox Code Playgroud)

产量

$ python static.py
0
1
3
6
10
15 …
Run Code Online (Sandbox Code Playgroud)

python static

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

为Javascript类创建静态或类变量的现代方法

我一直在寻找一个明确的答案,弹出的大部分内容仍然与旧的(或者我应该说"传统的")方式相关function.

根据这个SO答案,

ES2015不支持类属性.

据我所知,向类中添加静态变量的唯一方法是:

https://jsfiddle.net/abalter/fknwx3n4/

class C {

  constructor(x) {
    console.log("in constructor " + x);
    this.x = x;
    this.add(this.x);
  }

  add(x) {
    console.log("in add " + x);
    C.alist.push(x);
  }

  show() {
    console.log("in show");
    console.log(C.alist);
  }
}

// MUST be done outside of actual class definition.
C.alist = [];

c1 = new C(5);
c1.show();
c2 = new C(10);
c1.show();
c2.show();
Run Code Online (Sandbox Code Playgroud)

这是故事的结尾吗?在类定义中无法做到这一点似乎很奇怪.

javascript oop class static-members ecmascript-6

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

使用动态列名称和动态值的 Dplyr 过滤器

此处提出了同样的问题并标记为重复。然而,它不是重复的,也没有收到任何答复。我又问了

我有

df = data.frame(A=1:10, B=sample(c('TT', 'TG', 'GG'), 10, replace=T))
# df
#    A  B
#1   1 TG
#2   2 TG
#3   3 GG
#4   4 TT
#5   5 TT
#6   6 TT
#7   7 GG
#8   8 TT
#9   9 TG
#10 10 TT

Run Code Online (Sandbox Code Playgroud)

如果我指定列,我可以使用动态值列表,例如:

> vals=c('TT', 'GG')
> df%>% filter(B %in% !!vals)
   A  B
1  3 GG
2  4 TT
3  5 TT
4  6 TT
5  7 GG
6  8 TT
7 10 TT
Run Code Online (Sandbox Code Playgroud)

现在我想添加col='B' …

r filter dplyr

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

如何在 R 的系统命令中运行“conda ***”

我想在 conda 环境中运行系统命令,但我不知道如何让 R 将命令发送到正确初始化的 bash shell。我尝试过system('conda activate myenv && mycommand'),但收到需要运行的警告conda init bash。尝试system('conda init bash && conda activate myenv')抛出同样的错误。执行bash第一个命令会冻结 RStudio,例如system('bash && ....)`。

有没有什么方法可以在 R 中发送系统命令,该命令将在获取我的 .bashrc 文件后运行?

bash r conda

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

处理 Pandas read_csv 中的缺失数据

在将 CSV 数据导入到 Pandas DataFrame 时,我还没有找到令人满意的解决方案来解决丢失数据的问题。

我有数据集,我事先不知道列或数据类型是什么。我希望大熊猫在推断如何读取数据方面做得更好。

我还没有发现任何na_values=...真正有帮助的组合。

考虑以下 csv 文件:

no_holes.csv

letter,number
a,1
b,2
c,3
d,4
Run Code Online (Sandbox Code Playgroud)

with_holes.csv

letter,number
a,1
,2
b, 
,4
Run Code Online (Sandbox Code Playgroud)

empty_column.csv

letters,numbers
,1
,2
,3
,4
Run Code Online (Sandbox Code Playgroud)

with_NA.csv

letter,number
a,1
b,NA
NA,3
d,4
Run Code Online (Sandbox Code Playgroud)

这是我将它们读入 DataFrame 时发生的情况(下面的代码):

**no holes**
  letter  number
0      a       1
1      b       2
2      c       3
3      d       4
letter    object
number     int64
dtype: object

**with holes**
  letter number
0      a      1
1    NaN      2
2      b       
3    NaN      4
letter …
Run Code Online (Sandbox Code Playgroud)

python nan missing-data pandas na

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

是我还是纱?

apt对我很有用。很少有问题,而且总是很容易解决。

conda对我很有用。很少有问题,而且总是很容易解决。

我似乎无法让纱线工作......永远。节点版本或 gyp 库总是有一些奇怪的问题。即使我解决了所有这些问题,我也会收到很多警告,然后出现类似的错误

error An unexpected error occurred: "ENOENT: no such file or directory, lstat '/home/balter/.cache/yarn/v4/npm-tar-fs-1.16.3-966a628841da2c4010406a82167cbd5e0c72d509/node_modules/tar-fs/test/fixtures/a/hello.txt'".
Run Code Online (Sandbox Code Playgroud)

事实证明,如果我yarn install再次运行,则会找不到其他文件。只是为了好玩,我做了

for i in {1..100}; do yarn install; done
Run Code Online (Sandbox Code Playgroud)

是的,它每次都在不同的文件上出错,但从来没有“工作”。

是我,还是纱线真的很脆弱?如果我想从 github 安装一个包并且安装说明使用纱线,有没有办法使用纱线?

此外,没有“纱线”标签

installation package-managers node.js yarnpkg

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

顺序图像的通配符

我正在尝试使用av​​conv为一系列jpg文件制作动画.基于众多示例,我正在尝试使用%d.jpg来指定文件.或%05d.jpg.但是,我得到了:

avconv -i %d.jpg a.avi
avconv version 0.8.3-4:0.8.3-0ubuntu0.12.04.1, Copyright (c) 2000-2012 the Libav developers built on Jun 12 2012 16:37:58 with gcc 4.6.3
%d.jpg: No such file or directory
Run Code Online (Sandbox Code Playgroud)

这是我目录列表的一个片段:

10380.jpg
10390.jpg
10400.jpg
1040.jpg
10410.jpg
10420.jpg
10430.jpg
10440.jpg
Run Code Online (Sandbox Code Playgroud)

有从00000.jpg到14400.jpg的jpeg

我不太了解通配符系统,但这就是示例中的内容.

(注意:我将其标记为ffmpeg,因为avconv的标签不存在,而avconv取代ffmpeg)

更新 我正在根据@ av501的答案更新问题.

首先,我有一个按顺序排序10的png文件列表.它们的文本在5位整数之前.例如:

SkinMattekNutrient_py_00000.png
SkinMattekNutrient_py_00010.png
SkinMattekNutrient_py_00020.png
...
SkinMattekNutrient_py_10440.png
Run Code Online (Sandbox Code Playgroud)

批量转换为jpg的方法是什么?我试过了

convert ...
SkinMattekNutrient_py_%05d.png %05d.jpg
Run Code Online (Sandbox Code Playgroud)

convert ...
SkinMattekNutrient_py_%5d.png %5d.jpg
Run Code Online (Sandbox Code Playgroud)

但我得到:

convert SkinMattekNutrient_py_%05d.png %05d.jpg
convert: missing an image filename `%05d.jpg' @ error/convert.c/ConvertImageCommand/3011.
Run Code Online (Sandbox Code Playgroud)

jpeg ffmpeg avconv

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