Хотите преобразовать строку в двойную в Python? В этом уроке я объясню «Как преобразовать строку в число Double в Python» 7 различными способами с наглядными примерами.
Преобразование строки в число типа double или, можно сказать, строки в число с плавающей запятой, в Python аналогично. Вы также можете использовать все методы для строковых значений с плавающей запятой.
Я работал над проектом, в котором мне нужно было взять введенные пользователем данные о весе и преобразовать строку в двойное число в Python, поэтому эти методы и приемы очень помогли мне получить требуемый результат.
- С помощью метода float()
- С помощью метода decimal()
- Используя метод to_numeric()
- Используя ast.literal_eval()
- С помощью функции numpy.float64()
- Используя метод np.fromstring()
- С использованием astype.py
- Заключение
С помощью метода float()
Метод float() используется для приведения типов в Python, что является прямым способом преобразования строки в двойное значение в Python.
Он принимает один параметр в виде целого числа или строки(если в виде строки будут присутствовать только числовые значения), который вы хотите преобразовать.
Рассмотрим следующий пример:
original_str = "82.4652" print("String: " + original_str, type(original_str)) converted = float(original_str) print("The conversion of string to double is",converted, type(converted))
В этом коде мы приводим строку для удвоения в Python, используя метод float() и передавая параметр original_str.
Выход:
String: 82.4652 The conversion of string to double is 82.4652
Вот объединенное представление сценария Python и его результатов в Visual Studio.
С помощью метода decimal()
Мы используем метод decimal() класса Decimal в Python.
Он используется для построения десятичных объектов. Мы будем использовать этот метод для преобразования строки Python в двойную.
Вот простой пример:
from decimal import Decimal str = "45.98" print("This is the initial string: " + str, type(str)) conversion = Decimal(str) print("The conversion of string to double is", conversion, type(conversion))
В этом коде str принимает строку, представляющую десятичное число, преобразует ее в десятичный объект с помощью метода decimal() в Python, а затем распечатывает преобразованное значение вместе с его типом.
Выход:
This is the initial string: 45.98 The conversion of string to double is 45.98
Ниже показан код Python вместе с его выводом, записанный в Visual Studio.
Используя метод to_numeric()
to_numeric() — это встроенный метод библиотеки Pandas в Python. Он используется для преобразования значений серии(или столбца DataFrame) в числовые типы данных.
Он может обрабатывать различные форматы, такие как целые числа, числа с плавающей запятой и строки, представляющие числа.
Давайте посмотрим пример:
import pandas as pd Employee_Data = { "name": ['William', 'Emma', 'James', 'Charlotte', 'Alexander', 'Olivia', 'Benjamin'], "salary": [50000, 60000, 75000, 48000, 90000, 55000, 62000], "weight": ['65.2', '70.5', '68.9', '72.3', '67.8', '69.6', '71.1'], "age": [25, 30, 28, 35, 27, 32, 29], } df = pd.DataFrame(Employee_Data) print(df.dtypes) df["weight"] = pd.to_numeric(df["weight"], downcast = "float") print(df.dtypes)
В этом коде мы создали набор данных в Pandas, где вес сотрудников представлен в виде списка строк. После преобразования с помощью to_numeric() столбец «вес» преобразуется в тип с плавающей запятой(float32), как указано в выходных данных dtype: float32.
Выход:
name object salary int64 weight object age int64 dtype: object name object salary int64 weight float32 age int64 dtype: object
Прилагается объединенное изображение, показывающее код Python и его выходные данные в Visual Studio.
Используя ast.literal_eval()
Функция literal_eval() является частью модуля ast в Python.
Он гарантирует, что оцениваются только базовые выражения, обеспечивая безопасность и обеспечивая быстрый способ преобразования строк в исходный тип данных.
Например:
import ast original_string = "2.71828" double_num = ast.literal_eval(original_string) print("String:", original_string , type(original_string)) print("Double:", double_num, type(double_num))
Выход
String: 2.71828 Double: 2.71828
Ниже показан объединенный снимок экрана скрипта Python и его вывода в Visual Studio.
С помощью функции numpy.float64()
Метод float64() в Python используется для преобразования входных данных в 64-битное число с плавающей запятой.
Это функция, предоставляемая библиотекой NumPy для эффективной обработки числовых операций.
Вот простая иллюстрация:
import numpy as np str = "5.9874" converted = np.float64(str) print("String:", str, type(str)) print("Double:", converted, type(converted))
Выход:
String: 5.9874 Double: 5.9874
Прилагается визуальное представление кода Python вместе с его выводом в Visual Studio.
Используя метод np.fromstring()
Функция np.fromstring() в Python интерпретирует строку как одномерный массив и возвращает массив с указанным типом данных(типом).
Параметр sep используется для указания разделителя чисел в строке.
Вот пример для иллюстрации:
import numpy as np str = '2541.8745' converting = np.fromstring(str, dtype=float, sep=' ') myfloat = converting[0] if len(converting) > 0 else None if myfloat is not None: print(f"Converted Double: {myfloat} {type(myfloat)}") else: print("Could not convert the str to a double.")
Выход
Converted Double: 2541.8745
Вот объединенное представление сценария Python и его результатов в Visual Studio.
С использованием astype.py
astype() — это метод в NumPy Python, который позволяет нам изменять тип данных элементов в массиве NumPy, преобразуя их из одного типа в другой.
Давайте посмотрим пример:
import numpy as np str = np.array(['68.9', '72.3', '67.8']) float_value = str.astype(float) print(float_value , type(float_value[0]))
Мы импортируем NumPy как np, создаем массив NumPy str, содержащий строки, представляющие числа в Python, а затем применяем метод стиля(float) для преобразования строк в числа с плавающей запятой.
Наконец, он печатает преобразованный массив float_value вместе с типом его первого элемента.
Выход:
[68.9 72.3 67.8]
Здесь представлено объединенное представление кода Python и его вывода в Visual Studio.
Заключение
Здесь мы рассмотрели 7 методов преобразования строки в двойную в Python. Каждый метод предлагает преимущества и варианты использования, соответствующие различным сценариям и предпочтениям.
Мы использовали встроенные функции, такие как float(), метод Decimal.decimal(), pandas.to_numeric(), ast.literal_eval(), numpy.float64(), np.fromstring() и использовали astype для преобразования.