Хотите преобразовать строку в двойную в Python? В этом уроке я объясню «Как преобразовать строку в число Double в Python» 7 различными способами с наглядными примерами.

Преобразование строки в число типа double или, можно сказать, строки в число с плавающей запятой, в Python аналогично. Вы также можете использовать все методы для строковых значений с плавающей запятой.

Я работал над проектом, в котором мне нужно было взять введенные пользователем данные о весе и преобразовать строку в двойное число в Python, поэтому эти методы и приемы очень помогли мне получить требуемый результат.

Содержание

С помощью метода 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.

С помощью метода float()

С помощью метода 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.

С помощью метода decimal()

Используя метод 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.

Используя метод to_numeric()

Используя 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.

Используя ast.literal_eval()

С помощью функции 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.

С помощью функции numpy.float64()

Используя метод 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.

Используя метод np.fromstring()

С использованием 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.

С использованием astype.py

Заключение

Здесь мы рассмотрели 7 методов преобразования строки в двойную в Python. Каждый метод предлагает преимущества и варианты использования, соответствующие различным сценариям и предпочтениям.

Мы использовали встроенные функции, такие как float(), метод Decimal.decimal(), pandas.to_numeric(), ast.literal_eval(), numpy.float64(), np.fromstring() и использовали astype для преобразования.

Добавить комментарий