РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
665 of 687 menu

Функция to_numeric

Функция to_numeric применяется к данным различных типов и преобразует их в числовой формат. Первым параметром передаются данные для преобразования, вторым можно указать способ обработки ошибок при помощи параметра errors. Если параметр не указан, функция пытается преобразовать все значения и вызывает ошибку при невозможности преобразования.

Синтаксис

pd.to_numeric(data, errors='raise', downcast=None)

Пример

Давайте преобразуем серию строковых значений в числа:

import pandas as pd ser = pd.Series(['1', '2', '3', '4', '5']) res = pd.to_numeric(ser) print(res)

Результат выполнения кода:

0 1 1 2 2 3 3 4 4 5 dtype: int64

Пример

Давайте преобразуем серию с числами в формате строки:

import pandas as pd ser = pd.Series(['10.5', '20.7', '30.2']) res = pd.to_numeric(ser) print(res)

Результат выполнения кода:

0 10.5 1 20.7 2 30.2 dtype: float64

Пример

Давайте преобразуем список с данными разных типов:

import pandas as pd data = ['1', 2, '3.5', 4] res = pd.to_numeric(data) print(res)

Результат выполнения кода:

[1. 2. 3.5 4. ]

Пример

Давайте укажем параметр errors со значением coerce, чтобы преобразовать невозможные значения в NaN:

import pandas as pd ser = pd.Series(['1', '2', 'abc', '4', '5']) res = pd.to_numeric(ser, errors='coerce') print(res)

Результат выполнения кода:

0 1.0 1 2.0 2 NaN 3 4.0 4 5.0 dtype: float64

Пример

Давайте укажем параметр errors со значением ignore, чтобы оставить невозможные значения без изменений:

import pandas as pd ser = pd.Series(['1', '2', 'abc', '4', '5']) res = pd.to_numeric(ser, errors='ignore') print(res)

Результат выполнения кода:

0 1 1 2 2 abc 3 4 4 5 dtype: object

Пример

Давайте применим параметр downcast для уменьшения размера данных:

import pandas as pd ser = pd.Series(['1', '2', '3', '4', '5']) res = pd.to_numeric(ser, downcast='integer') print(res)

Результат выполнения кода:

0 1 1 2 2 3 3 4 4 5 dtype: int8

Пример

Давайте применим downcast к числам с плавающей точкой:

import pandas as pd ser = pd.Series(['1.5', '2.7', '3.2']) res = pd.to_numeric(ser, downcast='float') print(res)

Результат выполнения кода:

0 1.5 1 2.7 2 3.2 dtype: float32

Смотрите также

  • функция is_numeric_dtype,
    которая проверяет, является ли тип данных числовым
  • функция is_integer_dtype,
    которая проверяет, является ли тип данных целочисленным
  • функция is_float_dtype,
    которая проверяет, является ли тип данных вещественным
  • атрибут display.precision,
    который задаёт точность отображения чисел
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить