У меня есть 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)
Что я делаю не так?