小编blz*_*blz的帖子

是否有更多pythonic方式存储参数,以便它们可以在函数调用中使用?

我目前正在使用pygame编写一个小脚本,但我不认为这个问题与pygame严格相关.

我有一个类,它包含元组中包含的函数参数字典:

self.stim = {1:(firstParam, secondparam, thirdparam),
            2:(firstParam2, secondparam2, thirdparam2),
            3:(firstParam3, secondParam3, thirdParam3)}
Run Code Online (Sandbox Code Playgroud)

在同一个类中,我有一个函数,使用这些参数发出对另一个函数的调用:

def action(self, stimType):
    pygame.draw.rect(self.stim[stimType][0], self.stim[stimType][1], self.stim[stimType][2])
Run Code Online (Sandbox Code Playgroud)

它有效,但阅读起来有点难看.我想知道是否有更优雅的方式存储这些参数,以便可以使用它们调用函数?

谢谢!

python

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

为什么默认值没有出现在docopt的命令行参数字典中?

我一直在尝试使用docopt来创建一个简单的CLI,但由于某种原因,我的默认参数没有出现.下面是我的测试代码.我正在使用docopt.pygithub存储库的最新版本.

"""
Usage:  scrappy <path> ... [options]

-a --auto           Automatically scrape and rename without user interaction.
-l --lang           Specify language code [default: en].
--scan-individual   Evaluate series information individually for each file.
-c --cfg            User alternate config file [default: ../scrappy.conf]
-t --test           Test run.  Do not modify files.
-v --verbose        Print verbose output
"""

from docopt import docopt
arguments = docopt(__doc__, version='0.1.0 alpha')
print arguments  # DEBUG
Run Code Online (Sandbox Code Playgroud)

这是我跑步时的输出 $ scrappy/scrappy.py first_path_parameter second/path/parameter

{'--auto': None,
 '--cfg': None,
 '--lang': None,
 '--scan-individual': …
Run Code Online (Sandbox Code Playgroud)

python docopt

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

关于这些子图中的重叠标签,我该怎么办?

下面是我用matplotlib创建的图.问题非常明显 - 标签重叠,整个事情是一个难以理解的混乱.

在此输入图像描述

我试着调用tight_layout每个子图,但这会崩溃我的ipython-notebook内核.

我该怎么做才能修复布局?可接受的方法包括修复每个子图的xlabel,ylabel和title,但另一种(也许更好的)方法是为整个图形提供单个xlabel,ylabel和title.

这是我用来生成上述子图的循环:

for i, sub in enumerate(datalist):
    subnum = i + start_with
    subplot(3, 4, i)

     # format data (sub is a PANDAS dataframe)
    xdat = sub['x'][(sub['in_trl'] == True) & (sub['x'].notnull()) & (sub['y'].notnull())]
    ydat = sub['y'][(sub['in_trl'] == True) & (sub['x'].notnull()) & (sub['y'].notnull())]

    # plot
    hist2d(xdat, ydat, bins=1000)
    plot(0, 0, 'ro')  # origin

    title('Subject {0} in-Trial Gaze'.format(subnum))
    xlabel('Horizontal Offset (degrees visual angle)')
    ylabel('Vertical Offset (degrees visual angle)')

    xlim([-.005, .005])
    ylim([-.005, .005])
    # tight_layout  # crashes ipython-notebook …
Run Code Online (Sandbox Code Playgroud)

python matplotlib

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

为什么我的PanelND工厂抛出一个KeyError?

0.12.0在Ubuntu上使用Pandas版本13.04.我正在尝试创建一个5D面板对象,以包含按条件分割的一些EEG数据.

我如何选择构建我的数据:

首先让我展示一下我的用法pandas.core.panelnd.creat_nd_panel_factory.

Subject = panelnd.create_nd_panel_factory(
    klass_name='Subject',
    axis_orders=['setsize', 'location', 'vfield', 'channels', 'samples'],
    axis_slices={'labels': 'location',
            'items': 'vfield',
            'major_axis': 'major_axis',
            'minor_axis': 'minor_axis'},
    slicer=pd.Panel4D,
    axis_aliases={'ss': 'setsize',
            'loc': 'location',
            'vf': 'vfield',
            'major': 'major_axis',
            'minor': 'minor_axis'}
    # stat_axis=2  # dafuq is this?
    )
Run Code Online (Sandbox Code Playgroud)

从本质上讲,该组织如下:

  • setsize:一个实验条件,可以是12
  • location:一个实验条件,可以是"same","diff"None
  • vfield:一个实验条件,可以是" "lvf"rvf"

最后两个轴对应于DataFramemajor_axisminor_axis.为清楚起见,它们已重命名:

  • channels:列,EEG通道(其中129个)
  • samples:行,单个样本. samples虽然可以作为时间轴.

我正在做的事情:

每个实验条件(subjectx …

python pandas

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

这是一种什么样的矩阵条码?

我首先假设下面的图像是一个二维码,但仔细检查后,它似乎是别的东西(注意,例如,矩阵中间的校准方块)。

在此处输入图片说明

有人知道这样的点阵叫什么吗?是否有任何工具可用于解码它(Python 是理想的......)?

非常感谢!

qr-code barcode aztec-barcode

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

当我尝试拟合线性混合效应模型时,为什么statsmodels会引发IndedxError?

给定代码:

import statsmodels.api as sm
import statsmodels.formula.api as smf

df.reset_index(drop=True, inplace=True)
display(df.describe())
md = smf.mixedlm("c ~ iscorr", df, groups=df.subnum)
mdf = md.fit()
Run Code Online (Sandbox Code Playgroud)

dfpandas.DataFrame,我得到以下错误出来smf.mixedlm

IndexError                                Traceback (most recent call last)
<ipython-input-34-5373fe9b774a> in <module>()
      4 df.reset_index(drop=True, inplace=True)
      5 display(df.describe())
----> 6 md = smf.mixedlm("c ~ iscorr", df, groups=df.subnum)
      7 # mdf = md.fit()

/home/lthibault/.pyenv/versions/3.5.0/lib/python3.5/site-packages/statsmodels/regression/mixed_linear_model.py in from_formula(cls, formula, data, re_formula, subset, *args, **kwargs)
    651                                                subset=None,
    652                                                exog_re=exog_re,
--> 653                                                *args, **kwargs)
    654 
    655         # expand re names …
Run Code Online (Sandbox Code Playgroud)

python pandas statsmodels

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

为何熊猫在我的直方图中插入空格?

示例数据可在此处以CSV格式找到。

给出以下代码:

figure()
grp.vis.plot(kind='hist', alpha=.5, normed=True)
show()
Run Code Online (Sandbox Code Playgroud)

我得到下图:

在此处输入图片说明

为什么大熊猫在图中插入空隙?值的范围从0到7,并且都表示出来,因此我看不出为什么会发生这种情况。

首先十分感谢!

python matplotlib histogram pandas

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

docker的apparmor简介在哪里?

以下问题发生在 Debian Jessie(在 Vagrant 下):

搬运工文档声称的AppArmor配置文件被自动放入/etc/apparmor.d/docker,然而,当我列出该目录的内容,它是不被发现。

内容/etc/apparmor.d

abstractions
cache
disable
force-complain
local
tunables
Run Code Online (Sandbox Code Playgroud)

Docker 版本信息

$ docker version
Client:
 Version:      1.12.1
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   23cf638
 Built:        Thu Aug 18 05:02:53 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.12.1
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   23cf638
 Built:        Thu Aug 18 05:02:53 2016
 OS/Arch:      linux/amd64
Run Code Online (Sandbox Code Playgroud)

debian apparmor docker

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

是否可以按层次标记matplotlib(pyplot)条形图?

我已设法使用matplotlib.pyplot制作以下条形图.

在此输入图像描述

该图来自下面打印的聚合PANDAS DataFrame.请注意,条形图中的每个条形对应于mean列中的值.另请注意,值不是零,而是PANDAS输出0-0浮点数非常小.

Group Local Global Attn  mean
ASub  LD    GD     Attn    -0
                   Dist    -0
            GS     Attn    -0
                   Dist    -0
      LS    GD     Attn    -0
                   Dist    -0
            GS     Attn    -0
                   Dist    -0
DSub  LD    GD     Attn    -0
                   Dist     0
            GS     Attn    -0
                   Dist    -0
      LS    GD     Attn    -0
                   Dist    -0
            GS     Attn    -0
                   Dist    -0
Run Code Online (Sandbox Code Playgroud)

我想以与上面标签相对应的方式分层标记条形图的x轴.换句话说,x轴的左半部分对应于该ASub组.组的左半部分ASub对应于因子的LD级别 Local,依此类推......

可以这样做吗?

编辑:

我想我应该澄清我想要的东西.我希望有几个标签,从最常见(Group)到最具体(Attn),类似于上面DataFrame左边4列的组织.

python matplotlib pandas

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

如何使用__init__函数创建服务器Protocol类?

我来自Twisted背景,因此我对Twisted实施的协议和工厂有了深刻的理解.但是,我正在切换到asyncio,我在理解工厂如何集成到这个特定框架时遇到了一些麻烦.

官方文档中,我们有一个服务器asyncio.Protocol类定义的示例.它没有用户定义的__init__功能,所以我们可以简单地调用loop.create_server(EchoServerClientProtocol, addr, port).

如果我们Protocol需要实现一些初始化逻辑会发生什么?例如,考虑这个设置最大缓冲区大小的示例:

import asyncio
from collections import deque

class BufferedProtocolExample(asyncio.Protocol):
    def __init__(self, buffsize=None):
        self.queue = deque((), buffsize)

    # ...
Run Code Online (Sandbox Code Playgroud)

在Twisted中,您将创建一个Factory类来保存所有配置值,然后将其传递给初始化连接的函数.Asyncio 似乎以相同的方式工作,但我找不到任何文档.

可以使用functools.partial,但处理这种情况的正确方法是什么?

python python-asyncio

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