@@ -20,24 +20,18 @@ def update_depr_methods(df, p, dp):
2020
2121 """
2222 # update tax_deprec_rates based on user defined parameters
23- # create dataframe with depreciation policy parameters
24- deprec_df = pd .DataFrame (dp .asset )
25- # split out value into two columns
26- deprec_df = deprec_df .join (
27- pd .DataFrame (deprec_df .pop ("value" ).values .tolist ())
28- )
29- # drop information duplicated in asset dataframe
30- deprec_df .drop (
31- columns = ["asset_name" , "minor_asset_group" , "major_asset_group" ],
32- inplace = True ,
33- )
23+ # create dataframe with depreciation policy parameters for all
24+ # known years
25+ deprec_df = dp .expanded_df ()
26+ # keep just the current year in the CCC parameters object
27+ deprec_df = deprec_df [deprec_df .year == p .year ]
3428 # merge depreciation policy parameters to asset dataframe
3529 df .drop (columns = deprec_df .keys (), inplace = True , errors = "ignore" )
3630 df = df .merge (
3731 deprec_df , how = "left" , left_on = "bea_asset_code" , right_on = "BEA_code"
3832 )
3933 # add bonus depreciation to tax deprec parameters dataframe
40- df ["bonus" ] = df ["GDS_life " ]
34+ df ["bonus" ] = df ["life " ]
4135 # update tax_deprec_rates based on user defined parameters
4236 df .replace ({"bonus" : p .bonus_deprec }, inplace = True )
4337 # Compute b
@@ -49,13 +43,9 @@ def update_depr_methods(df, p, dp):
4943 df .loc [df ["b" ] == "Income Forecast" , "b" ] = 1.0
5044 # cast b as float
5145 df ["b" ] = df ["b" ].astype (float )
46+ # Set Y to length of depreciable life
47+ df ["Y" ] = df ["life" ]
5248
53- df .loc [df ["system" ] == "ADS" , "Y" ] = df .loc [
54- df ["system" ] == "ADS" , "ADS_life"
55- ]
56- df .loc [df ["system" ] == "GDS" , "Y" ] = df .loc [
57- df ["system" ] == "GDS" , "GDS_life"
58- ]
5949 return df
6050
6151
0 commit comments