You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

端到端ML项目数据转换错误:convert_to_minutes()参数不匹配

错误修复:TypeError: convert_to_minutes() takes 1 positional argument but 2 were given

问题原因

当你通过df['Duration'].apply(self.convert_to_minutes)调用方法时,Python会自动将DataTransformation的实例对象作为第一个参数传递给convert_to_minutes,但你的方法定义里只声明了duration一个参数,导致参数数量不匹配,触发了这个错误。

修复方案

你有两种可行的修复方式,根据你的需求选择:

方案1:改为实例方法(添加self参数)

如果这个方法后续需要访问类实例的属性或其他方法,给方法添加self参数即可:

class DataTransformation:
    def convert_to_minutes(self, duration):
        try:
            hours, minute = 0, 0
            for i in duration.split():
                if 'h' in i:
                    hours = int(i[:-1])
                elif 'm' in i:
                    minute = int(i[:-1])
            return hours * 60 + minute
        except :
            return None 
    # 其他代码...

方案2:改为静态方法(使用@staticmethod装饰器)

如果这个方法不需要依赖任何实例状态,只是单纯的功能函数,用@staticmethod装饰器标记它,这样就不需要self参数:

class DataTransformation:
    @staticmethod
    def convert_to_minutes(duration):
        try:
            hours, minute = 0, 0
            for i in duration.split():
                if 'h' in i:
                    hours = int(i[:-1])
                elif 'm' in i:
                    minute = int(i[:-1])
            return hours * 60 + minute
        except :
            return None 
    # 其他代码...

内容的提问来源于stack exchange,提问作者Md. Ehsanul Haque Kanan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 21:17:36