小编jcp*_*jcp的帖子

正则表达式匹配数字和它们之间最多一个空格

我正在尝试以以下模式匹配电话号码:

9 99 99 99 99
0999999999
11 0999999999
9 9999 9999
Run Code Online (Sandbox Code Playgroud)

但不是以下:

9 99  99 99 99 (two spaces)
9 99\n99 99 99 
Run Code Online (Sandbox Code Playgroud)

因此,我想匹配 7 到 12 位数字和它们之间的可选空格,但不是多个空格的序列。

到目前为止,我想出了"[\d ?]{7,12}",但它并不真正符合要求,因为空格被计入 {7,12} 并且它还匹配两个空格序列。

python regex

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

在 plotnine 中使用定性啤酒调色板的问题

我想使用 plotnine 使用 brewer 定性调色板,但出现错误:

ValueError: Invalid color map name 'Set1' for type 'Sequential'.
Valid names are: ['Blues', 'BuGn', 'BuPu', 'GnBu', 'Greens', 'Greys', 'OrRd', 'Oranges', 'PuBu', 'PuBuGn', 'PuRd', 'Purples', 'RdPu', 'Reds', 'YlGn', 'YlGnBu', 'YlOrBr', 'YlOrRd']
Run Code Online (Sandbox Code Playgroud)

可重现的例子

 from plotnine import *
 import pandas as pd

 df = pd.DataFrame({'a': [0,1,2,3,4], 'b': [0,-2,10,6,8], 'c': ['a', 'b',  'a', 'a', 'b']})

 (ggplot(df, aes(x = 'a', y = 'b', color = 'factor(c)')) +
geom_line() +
scale_color_brewer(palette = 'Set1'))
Run Code Online (Sandbox Code Playgroud)

但是,在 R 中的 ggplot2 中,您可以执行相同操作并获得正确的绘图

 library(ggplot2)

 df = …
Run Code Online (Sandbox Code Playgroud)

python plotnine

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

pandas merge_asof:不明确的参数类型错误

我正在尝试merge_asof从 Pandas使用,但出现错误:

TypeError: Function call with ambiguous argument types

可重现的例子:

import pandas as pd

a = pd.DataFrame({'foo': [1., 2.], 'bar': ['2019-01-01 00:00:10', '2019-01-01 00:00:20']})
b = pd.DataFrame({'foo': [2., 5.], 'baz': ['2019-01-01 00:00:05', '2019-01-01 00:00:25']})
a['bar'] = pd.to_datetime(a['bar'])
b['baz'] = pd.to_datetime(b['baz'])

pd.merge_asof(a,
              b,
              left_on='bar',
              right_on='baz',
              direction='backward',
              by='foo',
              allow_exact_matches=False)
Run Code Online (Sandbox Code Playgroud)

我试图检查 pandas.core.reshape.merge 文件,但没有成功解决问题

python python-3.x pandas

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

Jupyter 内核不使用 Poetry 环境

我正在尝试为我的诗歌环境安装 Jupyter 内核,但似乎该内核获取了我的基本 conda 环境。这就是我正在尝试的:

poetry env list
>ENV_NAME-HASH-py3.9 (Activated)

poetry run which python
>/Users/myusername/Library/Caches/pypoetry/virtualenvs/ENV_NAME-HASH-py3.9/bin/python

poetry run ipython kernel install --name=ENV_NAME
>Installed kernelspec ENV_NAME in /Users/myusername/Library/Jupyter/kernels/ENV_NAME
Run Code Online (Sandbox Code Playgroud)

然后,如果我打开带有此内核的 Jupyter,我不会获得应安装的库。检查我得到的Python版本:

!which python
/Users/myusername/opt/anaconda3/bin/python
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏!

python jupyter-notebook python-poetry

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

检查在shinyapps.io上部署的库的版本

我有一个闪亮的应用程序,已经在闪亮的应用程序上托管了一段时间。

我下载了该应用程序并在本地进行了测试,其中一个功能的行为略有不同。我相信这是由于某些库的版本不同造成的。

我想知道是否有一种方法可以检查已部署应用程序的库的版本,以便我可以在本地安装它们并进行检查。

r shiny

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

在 Shinyapps.io 上使用 python 3 in reticulate

我在 Python 3 中有一些代码,我通过reticulate库在 R 中运行这些代码以在shiny应用程序中使用。它在我的本地机器上运行良好,但是当我在 Shinyapps.io 中发布时,网状默认使用 Python 2。

到目前为止,我尝试使用use_python函数,但我不确定路径:

use_python("/usr/bin/python3", require = TRUE)
Run Code Online (Sandbox Code Playgroud)

日志给了我错误:

2019-02-12T13:44:54.691167+00:00 shinyapps[710102]: Warning: Error in initialize_python: Python shared library '/usr/lib/libpython3.5.so' not found, Python bindings not loaded.
2019-02-12T13:44:54.697101+00:00 shinyapps[710102]:   64: stop
2019-02-12T13:44:54.697103+00:00 shinyapps[710102]:   63: initialize_python
2019-02-12T13:44:54.697104+00:00 shinyapps[710102]:   62: ensure_python_initialized
2019-02-12T13:44:54.697105+00:00 shinyapps[710102]:   61: py_run_file
2019-02-12T13:44:54.697106+00:00 shinyapps[710102]:   60: source_python
2019-02-12T13:44:54.697107+00:00 shinyapps[710102]:   59: server [/srv/connect/apps/str_telefonica/app.R#57]
2019-02-12T13:44:54.697385+00:00 shinyapps[710102]: Error in initialize_python(required_module, use_environment) : 
2019-02-12T13:44:54.697387+00:00 shinyapps[710102]:   Python shared library '/usr/lib/libpython3.5.so' not found, Python bindings …
Run Code Online (Sandbox Code Playgroud)

python r shiny reticulate

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

bnlearn + Rgraphviz:自定义绘图时,双箭头而不是无向边

我正在尝试自定义bnlearn使用图表学习的图表RGraphviz.当我有无向边时,RGraphviz当我尝试自定义图形的外观时,将它们转向两个方向的有向边.

一个可重复的例子可能是:

set.seed(1)
x1 = rnorm(50, 0, 1)
x2 = rnorm(50, 0, 1)
x3 = x2 + rnorm(50, 0, 1)
x4 = -2*x1 + x3 + rnorm(50, 0, 1)
graph = data.frame(x1, x2, x3, x4)

library(bnlearn)
library(Rgraphviz)

res = gs(graph)
options(repr.plot.width=3, repr.plot.height=3)
g1 <- graphviz.plot(res)
Run Code Online (Sandbox Code Playgroud)

图未定制:

在此输入图像描述

到现在为止还挺好.但是,如果我尝试自定义它:

plot(g1, attrs = list(node = list(fontsize=4, fillcolor = "lightgreen")))
Run Code Online (Sandbox Code Playgroud)

自定义图表

在此输入图像描述

无向边缘被转换.

即使我只使用情节(g1),我也会遇到这个问题.问题是这(保存g1然后使用绘图)似乎改变了图形的外观.

r bayesian-networks bnlearn r-graphviz

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

在Python中重新排序列表中的值的算法

我有一个整数数组说:

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

以及另外两个定义我应该如何重新排序的数组:

A = [1,4,5,7,8]
B = [1,3,4,5,6]
Run Code Online (Sandbox Code Playgroud)

A和B具有相同的尺寸.

我想以arr一种方式重新排序,使得值在值A之前B,但是在任一个数组中都没有显示的值保持在同一个位置.例如:

>>> reorder(arr, A, B)
[1, 2, 4, 5, 7, 8, 3, 6, 9, 10]
Run Code Online (Sandbox Code Playgroud)

python algorithm

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