Я думаю, у вас есть объекты, потому что вы принудительно преобразовали to_numeri c, поэтому строки были преобразованы в NaN
, а затем вы заполнили NaN
" "
. Если вы уверены, что все ваши столбцы должны быть преобразованы в типы numeri c, я предлагаю выполнить некоторую предварительную обработку:
df = pd.DataFrame({'col1':list('12345'),
'col2':['green','blue','red','yellow','pink'],
'col3':['1 green','2 blue','3 red','4 yellow','5 pink']})
df['col3'] = df.col3.apply(lambda x: x.split()[0]).astype(int)