Как преобразовать отрицательные числа, которые являются строками, в целые числа

У меня есть DataTable вроде:

Сценарий игры
-1,95
+1,3
-1,2
+1,54

Как мне преобразовать отрицательные числа, которые являются строками, в целые числа?

Это я бы пробовал до сих пор

full_data['Game Script'] = full_data['Game Script'].apply(lambda X: X.replace('+',''))
full_data['Game Script'] = full_data['Game Script'].apply(lambda X: int(X))

У меня следующее исключение:

ValueError: invalid literal for int() with base 10: '-1.85'
astype
U11-Forward 05.04.2021 06:35
ValueError: invalid literal for int() with base 10: '-1.85' Каким должен быть результат при выполнении этого преобразования?
Karl Knechtel 05.04.2021 06:35
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
2
43
3

Ответы 3

Сделай это.

full_data['Game Script'] = full_data['Game Script'].astype('int64')

Вы также можете использовать функцию eval() здесь:

full_data['Game Script'] = eval(full_data['Game Script'])

Давайте попробуем pd.to_numeric

full_data['Game Script'] = pd.to_numeric(full_data['Game Script'])
Out[21]: 
0   -1.95
1    1.30
2   -1.20
3    1.54
Name: GameScript, dtype: float64

Другие вопросы по теме