我目前正在使用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)
它有效,但阅读起来有点难看.我想知道是否有更优雅的方式存储这些参数,以便可以使用它们调用函数?
谢谢!
我一直在尝试使用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) 下面是我用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) 我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:一个实验条件,可以是1或2location:一个实验条件,可以是"same","diff"或Nonevfield:一个实验条件,可以是" "lvf"或rvf"最后两个轴对应于DataFrame的major_axis和minor_axis.为清楚起见,它们已重命名:
channels:列,EEG通道(其中129个)samples:行,单个样本. samples虽然可以作为时间轴.每个实验条件(subjectx …
我首先假设下面的图像是一个二维码,但仔细检查后,它似乎是别的东西(注意,例如,矩阵中间的校准方块)。
有人知道这样的点阵叫什么吗?是否有任何工具可用于解码它(Python 是理想的......)?
非常感谢!
给定代码:
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)
当df是pandas.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) 示例数据可在此处以CSV格式找到。
给出以下代码:
figure()
grp.vis.plot(kind='hist', alpha=.5, normed=True)
show()
Run Code Online (Sandbox Code Playgroud)
我得到下图:
为什么大熊猫在图中插入空隙?值的范围从0到7,并且都表示出来,因此我看不出为什么会发生这种情况。
首先十分感谢!
以下问题发生在 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 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) 我已设法使用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列的组织.
我来自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,但处理这种情况的正确方法是什么?