Ошибка при делении строки на целое число в python. Как проигнорировать ошибку?

#python #pandas #dataframe

Вопрос:

государство var1 var2 var3 var4
1 36 6 5 (T)
2 46 2 3 7
3 42 12 (D) 9

Я хочу написать код, разделяющий каждую ячейку от var2 до var4 на var1 (строка за строкой). При этом как игнорировать (D) и (T), которые не являются целыми числами во фрейме данных?

Я попробовал приведенный ниже код, но он выдает ошибку «Ошибка типа: неподдерживаемые типы операндов для /: ‘str’ и ‘str'».

Спасибо за помощь!

 df.iloc[:,2:4].div(df.iloc[:,1], axis = 0)
 

Комментарии:

1. может быть, сначала попробуйте преобразовать эти столбцы to_numeric

2. Игнорировать, а потом что? Что должно "(T)"/"(D)" вам дать?

Ответ №1:

Попробуй это :

 df.apply(pd.to_numeric, errors = 'coerce')