小编bac*_*and的帖子

如何将参数传递给fig.canvas.mpl_connect('key_press_event',on_key)中的on_key?

我有一个功能

def on_key(event):
Run Code Online (Sandbox Code Playgroud)

我打电话来自

fig.canvas.mpl_connect('key_press_event', on_key)
Run Code Online (Sandbox Code Playgroud)

我想将参数plt1,plt2,plt3传递给on_key ...

我怎样才能做到这一点?

python matplotlib

12
推荐指数
1
解决办法
3567
查看次数


PythonNet FileNotFoundException:无法找到程序集

我正在尝试执行一个Python脚本,该脚本使用Python For .Net(https://github.com/pythonnet/pythonnet)来加载名为"Kratos_3.dll"的C#库,该库与脚本位于同一文件夹中但文件无法找到.

我使用"pip install pythonnet"安装了clr.

这是我的脚本:

import clr
import sys
sys.path.insert(0,"C:\\dev\\proj_1\\")
clr.AddReference("Kratos_3") 
Run Code Online (Sandbox Code Playgroud)

我一直在收到错误

FileNotFoundException: Unable to find assembly 'Kratos_3. at Python.Runtime.CLRModule.AddReference(String name)
Run Code Online (Sandbox Code Playgroud)

当我使用IronPython运行它时,它可以工作,但我想使用常规Python 2.7来实现这一点,我需要做什么?

.net python ironpython python-2.7 python.net

6
推荐指数
2
解决办法
5105
查看次数

Pandas 按索引从 HDF5 获取特定行

我有一个 pandas DataFrame,已写入 HDF5 文件。数据按时间戳索引,如下所示:

In [5]: df
Out[5]:
                          Codes   Price  Size
Time
2015-04-27 01:31:08-04:00     T  111.75    23
2015-04-27 01:31:39-04:00     T  111.80    23
2015-04-27 01:31:39-04:00     T  113.00    35
2015-04-27 01:34:14-04:00     T  113.00    85
2015-04-27 01:55:15-04:00     T  113.50   203
...                         ...     ...   ...
2015-05-26 11:35:00-04:00    CA  110.55   196
2015-05-26 11:35:00-04:00    CA  110.55    98
2015-05-26 11:35:00-04:00    CA  110.55   738
2015-05-26 11:35:00-04:00    CA  110.55    19
2015-05-26 11:37:01-04:00        110.55    12
Run Code Online (Sandbox Code Playgroud)

我想要的是创建一个可以传递 pandas DatetimeIndex 的函数,它将返回一个 DataFrame,其中包含 DatetimeIndex 中每个时间戳或之前的行。

我遇到的问题是,如果我正在查找超过 30 行,则串联的read_hdf查询将不起作用 - …

python hdf5 pandas

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

同时运行多个相互通信的Kivy应用程序

我希望我的Kivy应用程序能够在可以相互通信的Windows机器上产生多个应用程序(即新Windows)。

ScreenManagerPopup选项将不会剪切它,因为它们位于同一窗口中。我需要能够在多个监视器之间拖动新屏幕,因此需要多个窗口。

Kivy文档明确声明“ Kivy每个应用程序仅支持一个窗口:请不要尝试创建多个窗口。”

谷歌搜索产生了一种简单的方法,可以从另一个应用程序内简单地生成一个新的应用程序,如下所示:

from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.label import Label


class ChildApp(App):
    def build(self):
        return Label(text='Child')


class MainApp(App):

    def build(self):
        b = Button(text='Launch Child App')
        b.bind(on_press=self.launchChild)
        return b

    def launchChild(self, button):
        ChildApp().run()

if __name__ == '__main__':
    MainApp().run()
Run Code Online (Sandbox Code Playgroud)

但是,当我这样做时,它会在同一窗口中启动该应用程序并崩溃,并且我的终端会疯狂地吐出:

Original exception was:
Error in sys.exceptionhook:
Run Code Online (Sandbox Code Playgroud)

我得到同样的结果,如果代替ChildApp().run()我做multiprocessing.Process(target=ChildApp().run()).start()

使用subprocess库使我更接近想要的东西:

# filename: test2.py

from kivy.app import App
from kivy.uix.label import Label


class ChildApp(App):
    def build(self):
        return …
Run Code Online (Sandbox Code Playgroud)

python user-interface python-2.7 kivy

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

获取pandas HDF5查询的最后一行

我试图得到存储在HDF5中的pandas数据帧的最后一行的索引,而不必将整个数据集或索引拉入内存.我正在寻找这样的东西:

from pandas import HDFStore

store = HDFStore('file.h5')

last_index = store.select('dataset', where='index == -1').index
Run Code Online (Sandbox Code Playgroud)

除了在我的情况下,最后一个索引不会是-1aTimestamp

python hdf5 pandas

3
推荐指数
1
解决办法
1433
查看次数