заполнение и переименование набора данных одновременно - PullRequest
0 голосов
/ 09 апреля 2020

Я хотел бы заполнить набор данных и сделать возврат журнала одновременно: Это возврат

ret_names  =['FTSEMIB_Index_ret', 'FCA_IM_Equity_ret', 'UCG_IM_Equity_ret', 'ISP_IM_Equity_ret',
 'ENI_IM_Equity_ret',
 'LUX_IM_Equity_ret']

, а это Dataframe

   'FTSEMIB_Index', 'FCA_IM_Equity', 'UCG_IM_Equity', 'ISP_IM_Equity','ENI_IM_Equity', 'LUX_IM_Equity'                                                                 
0   22793.69        14.840                16.430           2.8860        14.040            49.24
1   22991.99        15.150                16.460           2.8780        14.220            48.98
2   23046.05        15.290                16.760           2.8660        14.300            48.70
3   23014.13        15.660                16.390           2.8500        14.380            48.72
4   23002.85        15.590                16.300           2.8420        14.500            49.13

, поэтому моя идея должен использовать enumerate в a для l oop.

for index,name in enumerate(ret_names):
    df[name] = np.diff(np.log(df.iloc[:,index]))

, но я не могу соответствовать длине, потому что с возвращениями я собираюсь стереть 1 значение (первое, которое я предполагаю).

Есть идеи?

1 Ответ

0 голосов
/ 09 апреля 2020

возможно я нашел решение, но я не могу понять, почему предыдущий не работает

for index,name in enumerate(ret_names):
    df[name] = np.log(df.iloc[:,index])/np.log(df.iloc[:,index]).shift(1)

, с этим вы можете заполнить и присвоить имя, и первое значение будет увеличиваться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...