小编Lon*_*Rob的帖子

熊猫系列分裂了n次

我想只pandas.Series第一段空格分割一个.

pd.Series.str.split提供一个n参数,根据内联帮助的类似声音应该指定要执行多少分割.(它Both 0 and -1 will be interpreted as return all splits在笔记中说,但实际上没有说明它的作用!)

无论如何,它似乎不起作用:

>>> x = pd.DataFrame(['Split Once', 'Split Once As Well!'])
>>> x[0].str.split(n=1)
0               [Split, Once]
1    [Split, Once, As, Well!]
Run Code Online (Sandbox Code Playgroud)

python pandas

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

将 TexLive 添加到 TexStudio 对路径的理解

不确定这是否是这个问题的正确论坛(尽管这个类似的 SO 问题鼓励了我),但我无法让 TexStudio 找到我安装的 TexLive。

我正在运行 Linux Mint 17。

我已经按照这里的说明添加/usr/local/texlive/2014/bin/x86_64-linux到我的.bashrc,甚至将它添加到两者中/etc/profile/etc/environment只是为了更好的衡量。

当我启动终端时,打字pdflatex工作正常。

但是 TexStudio 仍然无法找到pdflatex抱怨的可执行文件Error: Could not start the command: pdflatex -synctex=1 -interaction=nonstopmode "foo".tex

所以我的问题是:必须将 texlive 安装目录添加到什么位置,以便 TexStudio 知道在哪里可以找到它?

linux latex

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

在matplotlib轴限制内添加x = y(45度)线

我有一个不同的x和y限制的情节:

fig, ax = subplots(ncols=1)
ax.set_xlim([0, 10])
ax.set_ylim([5, 10])
Run Code Online (Sandbox Code Playgroud)

我想x=y在此图中添加一条线,但保持线在轴限制内.

我的第一个天真的尝试就是

ax.plot(ax.get_xlim(), ax.get_xlim())
Run Code Online (Sandbox Code Playgroud)

首先,天真的尝试

一个改进的尝试工作,但代码方面非常难看:

ax.plot([max(ax.get_xlim()[0], ax.get_ylim()[0]), 
         min(ax.get_xlim()[1], ax.get_ylim()[1])],
        [max(ax.get_xlim()[0], ax.get_ylim()[0]), 
         min(ax.get_xlim()[1], ax.get_ylim()[1])])
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

有更好的方法吗?我在Matplotlib版本的1.2.1Spyder中使用IPython 2.2.5版本1.3.1mpl.get_backend()返回:

'module://IPython.kernel.zmq.pylab.backend_inline'
Run Code Online (Sandbox Code Playgroud)

python matplotlib

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

为什么Java的文件浏览器看起来如此古老?

我在Linux Mint 17上使用了一个名为Gephi的软件.该软件基于Java.

我的Java如下:

> java -version
java version "1.7.0_65"
OpenJDK Runtime Environment (IcedTea 2.5.2) (7u65-2.5.2-3~14.04)
OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)
Run Code Online (Sandbox Code Playgroud)

当我想在这个软件中打开一个新文件时,我直接从20世纪90年代初开始使用文件浏览器,所以搜索能力,没有喜欢的地方列表,只有我的/目录:

OpenJDK文件浏览器

我的问题是:这是由于我的OpenJDK版本,一般来说是Java的问题(也许特别是Linux上的Java?),或者软件的开发人员可能会做些什么?

java

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

grep --include/--exclude 期间 GLOB 中的逻辑 OR

在 Ubuntu 终端中,我希望grep所有带有(或不包括)扩展名的文件.foo.bar短语'foobar'.

我已经阅读了有关使用逻辑 or创建 a 的建议GLOB,并尝试了一些组合,但似乎都不起作用:

rgrep "foobar" --include "*.foo|*.bar"
rgrep "foobar" --include "*.{foo,bar}"
rgrep "foobar" --exclude "(*.foo|*.bar)"
Run Code Online (Sandbox Code Playgroud)

秘方是什么?

bash grep

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

展平嵌套的try/except子句

我想在同一个任务中尝试许多不同的方法,每次方法失败时捕获异常.我知道如果尝试失败将引发的异常(并且每次尝试可能会有所不同).在最后一次尝试之后,我想优雅地放弃并继续前进.

我目前通过嵌套try/ except子句来做到这一点:

try:
    first_approach()
except Exception1:
    try:
        second_approach()
    except Exception2:
        try:
            third_approach()
        except:
            give_up()
except Exception2:
    try:
        third_approach()
    except:
        give_up()
Run Code Online (Sandbox Code Playgroud)

但这对我来说很糟糕,因为third_approach()重复了.我在Python文档中看不到任何帮助.那么我怎样才能展平这个丑陋的嵌套代码呢?

一个具体的例子

例如,想象一下我试图读取CSV文件列表,而不事先知道它们的编码.

某些CSV文件甚至可能是通过文件扩展名伪装成CSV的XLS文件.

因此,我想尝试一些不同的编码,如果这些编码都不起作用,请尝试将文件读作excel.

for f in files:
    try:
        read_csv(f, encoding='utf-8')
    except UnicodeDecodeError:
        try:
            read_csv(f, encoding='latin1')
        except NotCsvError:
            try:
                read_excel(f)
            except:
                give_up()
    except NotCsvError:
        try:
            read_excel(f)
        except:
            give_up()
Run Code Online (Sandbox Code Playgroud)

python python-3.x

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

熊猫饼图子图标签与切片标签重叠

这个问题类似,我使用subplots关键字 inmatplotlib除了我正在绘制饼图和使用熊猫。

subplots当标签接近水平时,我的标签与切片标签崩溃:

first = pd.Series({'True':2316, 'False': 64})
second = pd.Series({'True':2351, 'False': 29})
df = pd.concat([first, second], axis=1, keys=['First pie', 'Second pie'])
axes = df.plot(kind='pie', subplots=True)
for ax in axes:
    ax.set_aspect('equal')
Run Code Online (Sandbox Code Playgroud)

第一个饼图示例

我可以通过像文档那样做并添加一个明确的来缓解这种情况figsize,但它看起来仍然很局促:

axes = df.plot(kind='pie', figsize=[10, 4], subplots=True)
for ax in axes:
    ax.set_aspect('equal')
Run Code Online (Sandbox Code Playgroud)

第二个饼图示例

有没有更好的方法可以做得更好。tight_layout可能跟什么有关?

python matplotlib pandas

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

具有包含值的默认数组的猫鼬数组字段

猫鼬文档建议重写的默认值[]像这样的数组字段:

new Schema({
  toys: {
    type: [ToySchema],
    default: undefined
  }
});
Run Code Online (Sandbox Code Playgroud)

我想要一个字符串数组,带有一个枚举和一个默认值(如果没有提供)。

因此,如果未指定任何文档,则每个文档都具有类型 'foo',但文档可能是 'foo''bar'。

那可能吗?

mongoose mongodb

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

等待 docker 容器健康检查成功后再分离

docker-py 有没有办法在分离容器之前等待运行状况检查成功?我正在尝试执行以下操作,但问题是 .run() 在运行状况检查成功之前返回。如果我尝试在 run() 之后卷曲 elasticsearch 端点,则调用失败。

cls.es = client.containers.run("elasticsearch:7.5.0", auto_remove=True,
                                detach=True, publish_all_ports=True,
                                healthcheck='curl localhost:9200/_cat/health',
                                ports={'9200/tcp': 9200},
                                environment={'discovery.type': 'single-node'})
Run Code Online (Sandbox Code Playgroud)

python docker dockerpy

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

为什么 type.Mapping 不是协议?

如此处所述,一些内置泛型类型是Protocols。这意味着只要它们实现某些方法,类型检查器就会将它们标记为与该类型兼容:

如果一个类定义了合适的__iter__方法,mypy 就会理解它实现了iterable协议并且与Iterable[T].

那么为什么不是Mapping一个协议呢?

显然感觉它应该是一个,正如这个得到高度评价的答案所证明的那样:

typing.Mapping是一个定义__getitem__, __len__,__iter__魔术方法的对象

如果是的话,我可以将类似于映射的东西传递到需要映射的函数中,但这样做是不允许的:

from typing import Mapping


class IntMapping:

    def __init__(self):
        self._int_map = {}

    def __repr__(self):
        return repr(self._int_map)

    def __setitem__(self, key: int, value: int):
        self._int_map[key] = value

    def __getitem__(self, key: int):
        return self._int_map[key]

    def __len__(self):
        return len(self._int_map)

    def __iter__(self):
        return iter(self._int_map)

    def __contains__(self, item: int):
        return item in self._int_map

    def keys(self):
        return …
Run Code Online (Sandbox Code Playgroud)

python

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

标签 统计

python ×6

matplotlib ×2

pandas ×2

bash ×1

docker ×1

dockerpy ×1

grep ×1

java ×1

latex ×1

linux ×1

mongodb ×1

mongoose ×1

python-3.x ×1