Python Эффективность DataFrames / советы по передовому опыту - PullRequest
0 голосов
/ 05 марта 2020

Я не уверен, что это уместный вопрос, учитывая, как конкретно c это. Не стесняйтесь понижать - я закрою его.

Я использую python для расчета ряда доходностей по развитым рынкам, взвешенных по ВВП по ППС. Проблема заключается в том, что фрейм с ВВП не совпадает с размером фрейма доходности.

следующее верно: но я уверен, что это очень неэффективно и очень далеко от лучших практик. Я надеялся получить несколько советов по более качественной реализации.

Заранее спасибо.

#Match GDP data frame to yields data frame
gdp_weights_2 = yields.copy()
gdp_weights_2.loc[:] = 0  
gdp_weights_2.loc[:] = gdp_weights.loc[:]
gdp_weights_2.fillna(method='ffill', inplace = True)
gdp_weights_2.fillna(method = 'backfill', inplace = True)
gdp_weights_2.columns = gdp_weights.columns
gdp_weights = gdp_weights_2

#weights for normalisation
gdp_weights_sum = gdp_weights.sum(axis=1)

#weighted Yields
wtd_yields = yields.copy()
for row in range(len(wtd_yields)):
    for column in range(len(list(wtd_yields))):
        wtd_yields.iloc[row,column] = yields.iloc[row,column] * gdp_weights.iloc[row,column] * ( 1/ gdp_weights_sum.iloc[row] )

#output        
DM_yield = wtd_yields.sum(axis=1)
...