Значения dataframe Pandas отказываются оцениваться как float с `.apply (eval)`. Зачем?
Используя Python 3.4, у меня есть Pandas Dataframe
import pandas as pd df = pd.read_csv('file.csv') df.head()
дающий
animal fraction_decimal 0 cat1 '2/7' 1 cat2 '4/55' 2 cat3 '22/195' 3 cat4 '6/13' ....
Я хотел бы оценить значения в столбце fraction_decimal
чтобы стать float, т. Е.
animal fraction_decimal 0 cat1 0.2857142857142857 1 cat2 0.07272727272727272 2 cat3 0.11282051282051282 3 cat4 0.46153846153846156 ....
Однако использование .apply(eval)
просто не работает.
Я пытался
df['fraction_decimal'].apply(eval)
но этот результат:
0 2/7 1 4/55 2 22/195 3 6/13 .... Name: fraction_decimal, dtype: object
Почему это не работает? Как это может работать правильно?
- Проблемы с установкой pandas в python в MAC
- Пакет данных Pandas объединяется с данными обновления
- Pandas присоединились к двум сериям
- Как найти строку, генерирующую настройку с предупреждением о копировании?
- Функция распределения вероятности Python
eval("4/2") 2
eval("'4/2'") '4/2'
eval(eval("'4/2/'")) 2
У вас есть символы в строках. Вам нужно снять их.
рассматривать:
s = pd.Series(["'1/2'", "'3/4'", "'4/5'", "'6+5'", "'11-7'", "'9*10'"])
Затем:
s.str.replace(r'[\'\"]', '').apply(eval) 0 0.50 1 0.75 2 0.80 3 11.00 4 4.00 5 90.00 dtype: float64
- Линия Matplotlib не подхвачена обработчиком 'pick_event'
- Как передать функцию с параметрами в пару слов словаря
- Словарь Panda Dataframe для JSON
- Как объединить данные, не теряя данные?
- Преобразование индекса excel в индекс pandas
- ошибка с использованием где с пандами и категориальными столбцами
- Добавление столбцов разного индекса
- Булевое индексирование DataFrame в pandas заменяет столбцы элементами серии, где условие равно True
- Уменьшение серии pandas с несколькими значениями nan до набора дает несколько значений nn
- Как извлечь определенные последовательности из фрейма данных?
- Регрессия с переменной Date с использованием Scikit-learn