python在类里面定义一个方法,该方法要调用一个函数,原来这样就行

class group():
    # 省略
    def get_group_scale(self):
       
        '''
        省略
        ''' 
        df['分类'] = df['number'].apply( self.group_number ) 
        return df
        

情景就是我需要根据number,按照0-9,10-19等进行分组,返回分组结果,平时不写在class里面的话,就是这么调用

    def group_number( number ):
        '''
        将团队规模进行分组,按照0-9、9-19、....、100-109分组统计。
        group_number :团队规模
        :return:
        '''
        ###根据团队规模返回分组,分组包括0-9、9-19、.....、100-109
        quotient = number // 10  # 获取商
        c = {
    
    }
        for i in range(0, 11):
            value = str(i * 10) + '至' + str((i + 1) * 10 - 1)
            c[i] = value
        return c[quotient]
    
    '''   
    省略
    ''' 
    df['分类'] = df['number'].apply( group_number ) 

现在我写成类以后,在类里面要调用,就得加上@staticmethod,不然就会报错

class group():
    '''
    略
    '''
    @staticmethod
    def group_number( number ):
        '''
        按照0-9、9-19、....、100-109分组统计。
        '''
        ###根据团队规模返回分组,分组包括0-9、9-19、.....、100-109
        quotient = number // 10  # 获取商
        c = {
    
    }
        for i in range(0, 11):
            value = str(i * 10) + '至' + str((i + 1) * 10 - 1)
            c[i] = value
        return c[quotient]

    def get_group_scale(self):
        '''
        略
        '''
        df['分类'] = df['number'].apply( self.group_number )
         
        return df

猜你喜欢

转载自blog.csdn.net/u012076669/article/details/126686086