Обновление местоположения датафрейма с помощью iloc - PullRequest
0 голосов
/ 24 марта 2020

Я пытаюсь обновить строку фрейма данных, суммируя ее с другим фреймом данных и сохраняя в этом фрейме данных. Например, если df_1 = x0, x1, x2 и df_2 = y0, y1, y2. Я хочу добавить df_1 + df_2 и сохранить это в df_1. Мой код указан ниже, и я получаю сообщение об ошибке «Несовместимый индексатор с DataFrame». Я заметил, что могу печатать (df_weights.iloc [i ,:] + new_df), но не могу установить строку данных в этом кадре равной суммированию ...

print('weights:\n',df_weights)
test = df_weights.sum(axis=0)
test = (1 - test)/8
new_df = pd.DataFrame(test)
new_df = new_df.transpose()
print('new df:\n',new_df)
for i in range(0,df_rows):
    df_weights.iloc[i,:] = df_weights.iloc[i,:] + new_df

output

weights:
               0          1          2          3
m00    0.215545 -0.0734553  -0.260289 -0.0204819
mu02  -0.176883  -0.197607   0.194261  -0.024145
mu11   0.295823  -0.239761  -0.177467  -0.216388
mu20  -0.175377   0.166371   0.020717   0.229208
mu03    0.13808  -0.339882 -0.0601851   0.273308
mu12   0.331139  -0.253927  -0.268115    0.30846
mu21  0.0945824   0.126653  -0.176058  0.0993816
mu30  0.0940057  0.0738258  -0.078831  -0.049587
new df:
           0         1         2        3
0  0.022886  0.217223  0.225746  0.05003

1 Ответ

1 голос
/ 24 марта 2020

Добавьте values в конце, чтобы удалить влияние index match

for i in range(0,df_rows):
    df_weights.iloc[i,:] = df_weights.iloc[i,:].values + new_df.values
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...