Python pandas TypeError: unsupported operand type(s) for +: 'DatetimeArray' and 'str'

Python pandas TypeError: unsupported operand type(s) for +: 'DatetimeArray' and 'str'

我有 4 个 classes 和 1 个接口,当我执行我的 class Fingerprinter 我有这个错误:

TypeError: unsupported operand type(s) for +: 'DatetimeArray' and 'str'.

问题出在我的 class Fingerprinter:

中的函数 def __str__(self)
def __str__(self):
    return self._data_h_df+', '+str(self._modeCB)+', '+str(self._outputMode)

这是我的代码:

class OutputMode(object):
    def __init__(self,name,startTime,intervalSeconds,timezone):
        self.__name            = name
        self.__startTime       = startTime
        self.__intervalSeconds = intervalSeconds
        self.__timezone        = timezone
    

class Fingerprinter(object):
    
    def __init__(self,data_h_df,outputMode,modeCB=CONST_MODE_CONT):
        self._data_h_df  = data_h_df
        self._modeCB     = modeCB
        self._outputMode = outputMode
    
    def _generateID(data_h_df):
        pass
    
    def run(self):
        return self._generateID(data_h_df)
    
    def __str__(self):
        return self._data_h_df+', '+str(self._modeCB)+', '+str(self._outputMode)
    
outputMode = OutputMode('EEA','06:00',8*3600,pytz.timezone('Europe/Paris'))
test = Fingerprinter(data_h_df, outputMode, CONST_MODE_CONT)
print(outputMode)
print(test)

您的问题是 self._data_h_df 可能是日期数组(或至少不是 str),因此无法添加到 str。尝试:

def __str__(self):
    return str(self._data_h_df) + ', ' + str(self._modeCB) + ', ' + str(self._outputMode)