代码之家  ›  专栏  ›  技术社区  ›  jason m

CustomClass复制错误:attributeRor:“CustomClass”对象没有属性“copy”

  •  1
  • jason m  · 技术社区  · 6 年前

    我在自己的.py文件中有以下类:

    import pandas as pd
    
    class CashFlowSchedule(object):
        flows = {}
        annual_growth_rate = None
        df = None
    
        def __init__(self, daterange, months=range(1, 13), amount=0, growth=0, growth_month=1):
    
            self.annual_growth_rate = growth
    
            for dt in daterange:
    
                if dt.month == growth_month:
                    amount *= (1. + self.annual_growth_rate)
    
    
                if dt.month in months:
                    self.flows[dt] = amount
                else:
                    self.flows[dt] = 0.
    
            self.df = pd.DataFrame([self.flows]).T
    

    import cf_schedule as cfs
    x=cfs.CashFlowSchedule(pd.date_range('20180101','20190101'))
    x.copy()
    

    我得到:

    ---------------------------------------------------------------------------
    AttributeError                            Traceback (most recent call last)
    <ipython-input-22-c96b6d8d0ab0> in <module>()
    ----> 1 x.copy()
    
    AttributeError: 'CashFlowSchedule' object has no attribute 'copy'
    

    出什么事了,我还缺什么?

    这门课非常原始,我想 __copy__ object 方法。

    谢谢你

    1 回复  |  直到 6 年前
        1
  •  1
  •   brandonwang    6 年前

    问题是这个班 CashFlowSchedule 没有 copy() 方法。

    现金流量表 copy library .

    要创建浅层副本,请执行以下操作:

    import copy
    import cf_schedule as cfs
    x=cfs.CashFlowSchedule(pd.date_range('20180101','20190101'))
    x_copy = copy.copy(x)
    

    x_copy = copy.deepcopy(x)