#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')