Проблема с использованием pandas fillna () - PullRequest
0 голосов
/ 19 апреля 2020

У меня есть DF с cols 'category' и 'fund_size', с fund_size с пропущенными значениями. Уникальные значения = ['Large', 'Medium', 'Small'].

Я пытаюсь сделать следующее: для всех уникальных значений есть категория, получите значение режима fund_size и замените значения na на Mode.

for cat in not_bonds['category'].unique():
   new_df= not_bonds.loc[mf["category"] == cat]
   max_val = new_df['fund_size'].mode().tolist()

   if len(max_val) >= 1:
       #print(max_val[0])

       not_bonds.loc[not_bonds['category'] == cat, fund_size'].fillna(max_val[0], inplace=True)
       #print(cat, max_val[0])
    else:
        continue

Проблема в том, что значения все еще остаются пустыми в fund_size.

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

val = not_bonds.loc[not_bonds['category'] == 'Bear Market', 'fund_size'].mode().tolist()[0]

val

not_bonds.loc [not_bonds ['category'] = = 'Медвежий рынок', 'fund_size']. Fillna (val, inplace = True)

Что я делаю не так?

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