如何将pandas数据帧行实现为对象(并且有自己的方法)?

2024-04-26 09:41:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用熊猫数据帧来保存财务数据(烛台的时间序列)。在

列为:(索引:日期时间、金融工具、粒度、开盘价、高点、低点、收盘价、成交量)。

我构建了一个类来存储此数据帧,以实现此类对象(烛台时间序列)的特定方法,例如:

def getCandle(self, i):
    try:
        return self._list_of_candles.iloc[i:]
    except:
        return None

def getLastCandle(self):
    return self.getCandle(-1)

def getPreviousCandle(self):
    return self.getCandle(-2)

对于我来说,将dataframe上的每一行都看作一个对象(candlestick),并为该对象提供特定的方法非常有意义,例如:

^{pr2}$

对于如何处理这个问题以及如何构建解决方案,我愿意接受完全不同的思路。在

我真的不知道怎么解决它。我现在看到的解决方案是在pandas series对象上实现一些特定的方法。但我不清楚如何实施。在

一旦从数据帧中选择了行(candler),就可以对其进行大量操作,因此在我以前构建的应用程序中,为这些类型的操作提供一个“candle”类是非常有用的。在

我需要一个高效的解决方案。如果你能为我指出解决这个问题的方向,我真的很感激。谢谢您。在

更新:我正在考虑将所选的行转换为蜡烛对象,因为如果以这种方式构造代码,则似乎更容易构建代码,因为我不需要为要进行的每个分支或计算从数据帧生成不合格的数据。在


Tags: 数据对象方法代码selfreturndef粒度