Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 重载比较属性的运算符的最佳方法_Python_Pandas_Properties_Operator Overloading - Fatal编程技术网

Python 重载比较属性的运算符的最佳方法

Python 重载比较属性的运算符的最佳方法,python,pandas,properties,operator-overloading,Python,Pandas,Properties,Operator Overloading,我想知道在python3an操作符比较类的属性时,是否有方法重载它?我的属性是1-long panda.Series(是的,这看起来很愚蠢,但我在处理大量对象时需要它),我希望能够在列表理解中使用这些属性,而无需调用item()方法(为了API的可读性) 例如: class Signal(object): @property def halftime(self): return pd.Series(whatever_with_len_eq_1) 工作原理: s

我想知道在python3an操作符比较类的属性时,是否有方法重载它?我的属性是1-long panda.Series(是的,这看起来很愚蠢,但我在处理大量对象时需要它),我希望能够在列表理解中使用这些属性,而无需调用
item()
方法(为了API的可读性)

例如:

class Signal(object):

    @property
    def halftime(self):
        return pd.Series(whatever_with_len_eq_1)
工作原理:

signals = [Signal(a), Signal(b), Signal(c)]
best_signals = [sig for sig in signals if sig.halftime.item() > 25]
我想从事的工作:

signals = [Signal(a), Signal(b), Signal(c)]
best_signals = [sig for sig in signals if sig.halftime > 25]
但是,熊猫公司未授权直接比较1项序列和浮点/整数。因此,我想知道是否有一种方法可以重载属性比较(例如,中场休息时,但对So的快速研究表明这是不可能的);或者我应该走什么方向:重载熊猫系列比较法?制作一个包装器(但我看不到一个在比较时能够“转换”我的数据,但在直接调用时不能)


提前非常感谢

为什么它是一个单值序列而不是一个简单的标量?即使基础数据是一个系列,
halftime
属性也可以返回该值。为halftime属性创建另一个
,并为其编写
\ugt\uuuu
方法以执行所需操作。@AChampion,原因是我从不只处理一个信号对象,而是处理它们的加载。该系列的索引是信号的引用,名称是信号的单位,它允许其他类在不丢失数据的情况下快速连接和导出所有数据。然而,它可能是一个糟糕的实现(正如我现在看到的…),我应该看看如何以不同的方式处理我的数据。有什么理由它是一个单值序列而不是一个简单的标量?即使基础数据是一个系列,
halftime
属性也可以返回该值。为halftime属性创建另一个
,并为其编写
\ugt\uuuu
方法以执行所需操作。@AChampion,原因是我从不只处理一个信号对象,而是处理它们的加载。该系列的索引是信号的引用,名称是信号的单位,它允许其他类在不丢失数据的情况下快速连接和导出所有数据。然而,这可能是一个糟糕的实现(正如我现在看到的…),我应该看看如何以不同的方式处理我的数据。