小编use*_*537的帖子

Pandas agg 函数为 numpy std 与 nanstd 提供了不同的结果

我正在转换一些 numpy 代码以使用 pandas DataFrame。数据可能包含 NaN 值,因此我使用 numpy 的 nan 函数,例如nanstd在原始代码中。我的印象是 pandas 默认情况下会跳过 NaN 值,因此我转而使用相同函数的常规版本。

我想对数据进行分组并使用 计算一些统计数据agg(),但是当我使用时,np.std()即使数据不包含任何 NaN,我也会得到与原始代码不同的结果

这是一个演示问题的小例子

>>> arr = np.array([[1.17136, 1.11816],
                    [1.13096, 1.04134],
                    [1.13865, 1.03414],
                    [1.09053, 0.96330],
                    [1.02455, 0.94728],
                    [1.18182, 1.04950],
                    [1.09620, 1.06686]])

>>> df = pd.DataFrame(arr, 
                      index=['foo']*3 + ['bar']*4, 
                      columns=['A', 'B'])

>>> df
           A        B
foo  1.17136  1.11816
foo  1.13096  1.04134
foo  1.13865  1.03414
bar  1.09053  0.96330
bar  1.02455  0.94728
bar  1.18182  1.04950
bar  1.09620  1.06686

>>> g = …
Run Code Online (Sandbox Code Playgroud)

python pandas

9
推荐指数
1
解决办法
2406
查看次数

如何访问matplotlib中的轴标签对象?

我正在尝试将一些文字添加到我希望与xlabel轴对齐的图形中.我想找到它的坐标xlabel,但该函数ax.get_xlabel()只返回标签中显示的字符串.

我怎样才能访问xlabel对象(我假设它只是一个实例text)来找到它的坐标,还是有其他方法可以获得它们?

python matplotlib

8
推荐指数
1
解决办法
5326
查看次数

当光标在子窗口小部件上时,QWidget :: mouseMoveEvent不会触发

我试图QWidget通过重新实现鼠标移动来捕获光标坐标QWidget::mouseMoveEvent().启用鼠标跟踪后,当我将光标移动到主窗口小部件时,会生成鼠标移动事件.但是,当光标放在子窗口小部件上时,鼠标移动事件将停止触发.

鼠标按下/释放事件在光标位于同一子窗口小部件上时起作用,如果按住鼠标按钮,则移动事件将正确触发.我也尝试过对孩子们进行鼠标跟踪,但似乎没有什么区别.当鼠标位于子窗口小部件上时,如何触发鼠标移动事件?

这是演示问题的最小工作示例:

import sys
from PyQt4 import QtCore, QtGui

class MyWindow(QtGui.QWidget) :
    def __init__(self):
        QtGui.QWidget.__init__(self)
        tabs = QtGui.QTabWidget()
        tab1 = QtGui.QWidget()
        tab2 = QtGui.QWidget()
        tabs.addTab(tab1, "Tab 1")
        tabs.addTab(tab2, "Tab 2")
        layout = QtGui.QVBoxLayout()
        layout.addWidget(tabs)
        self.setLayout(layout)
        self.setMouseTracking(True)

    def mouseMoveEvent(self, event):
        print 'mouseMoveEvent: x=%d, y=%d' % (event.x(), event.y())


app = QtGui.QApplication(sys.argv)
window = MyWindow()
window.setFixedSize(640, 480)
window.show()
sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)

当鼠标移动到鼠标外时,QTabWidget按预期打印鼠标坐标.除非按住鼠标按钮,否则没有任何反应.

python pyqt pyqt4

8
推荐指数
1
解决办法
7679
查看次数

lxml xsi:schemaLocation名称空间URI验证问题

我正在尝试lxml.etree重现此处找到的CDA快速入门指南中的CDA示例.

特别是,我遇到了尝试重新创建此元素的命名空间问题.

<ClinicalDocument xmlns="urn:hl7-org:v3" xmlns:mif="urn:hl7-org:v3/mif" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="urn:hl7-org:v3 CDA.xsd">
Run Code Online (Sandbox Code Playgroud)

我正在使用的代码如下

root = etree.Element('ClinicalDocument',
                    nsmap={None: 'urn:hl7-org:v3',
                           'mif': 'urn:hl7-org:v3/mif',
                           'xsi': 'http://www.w3.org/2001/XMLSchema-instance',
                           '{http://www.w3.org/2001/XMLSchema-instance}schemaLocation': 'urn:hl7-org:v3 CDA.xsd'})
Run Code Online (Sandbox Code Playgroud)

问题在于schemaLocation进入nsmap.lxml似乎试图验证该值并给出错误

ValueError: Invalid namespace URI u'urn:hl7-org:v3 CDA.xsd'
Run Code Online (Sandbox Code Playgroud)

我是否schemaLocation错误地指定了值?有没有办法强制lxml接受任何字符串值?或者示例中的值是否只是一个占位符,我应该用其他东西替换?

python xml lxml xml-namespaces cda

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

调用 setParent 时 QMenu 显示不正确

我想创建一个函数来构建可以动态添加到窗口菜单栏的上下文菜单。考虑以下添加简单 QMenu 的最小示例:

from PyQt5 import QtWidgets

class MainWindow(QtWidgets.QMainWindow):
    def __init__(self, *args, **kwargs):
        super(MainWindow, self).__init__(*args, **kwargs)
        menu = QtWidgets.QMenu('Menu', parent=self)
        act1 = menu.addAction('Action 1')
        act2 = menu.addAction('Action 2')
        self.menuBar().addMenu(menu)

app = QtWidgets.QApplication([])
window = MainWindow()
window.show()
app.exec_()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

这按预期工作。请注意,需要设置 QMenu 的父项才能显示它。


现在,如果我将菜单代码分解为它自己的函数并显式设置父级,我会得到以下结果。这里发生了什么?

from PyQt5 import QtWidgets

def createMenu():
    menu = QtWidgets.QMenu('Menu')
    act1 = menu.addAction('Action 1')
    act2 = menu.addAction('Action 2')
    return menu

class MainWindow(QtWidgets.QMainWindow):
    def __init__(self, *args, **kwargs):
        super(MainWindow, self).__init__(*args, **kwargs)
        menu = createMenu()
        menu.setParent(self)
        self.menuBar().addMenu(menu)

app = QtWidgets.QApplication([])
window = …
Run Code Online (Sandbox Code Playgroud)

python qt pyqt qmenu qmenubar

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

标签 统计

python ×5

pyqt ×2

cda ×1

lxml ×1

matplotlib ×1

pandas ×1

pyqt4 ×1

qmenu ×1

qmenubar ×1

qt ×1

xml ×1

xml-namespaces ×1