Как преобразовать объект в плавающий в pandas (с примерами)


Вы можете использовать один из следующих методов для преобразования столбца в pandas DataFrame из объекта в плавающий:

Способ 1: Используйте astype()

df['column_name'] = df['column_name'].astype (float)

Способ 2: Используйте to_numeric()

df['column_name'] = pd.to_numeric(df['column_name'])

Оба метода дают одинаковый результат.

В следующих примерах показано, как использовать каждый метод со следующими пандами DataFrame:

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
 'points': ['18', '22.2', '19.1', '14', '14', '11.5', '20', '28'],
 'assists': [5, 7, 7, 9, 12, 9, 9, 4]})

#view DataFrame
print(df)

 team points assists
0 A 18 5
1 B 22.2 7
2 C 19.1 7
3 D 14 9
4 E 14 12
5 F 11.5 9
6 G 20 9
7 H 28 4

#check data type of each column
print(df.dtypes )

team object
points object
assists int64
dtype: object

Способ 1: используйте astype() для преобразования объекта в число с плавающей запятой

В следующем коде показано, как использовать функцию astype() для преобразования столбца точек в DataFrame из объекта в число с плавающей запятой:

#convert points column from object to float
df['points'] = df['points'].astype (float)

#view updated DataFrame
print(df)

 team points assists
0 A 18.0 5
1 B 22.2 7
2 C 19.1 7
3 D 14.0 9
4 E 14.0 12
5 F 11.5 9
6 G 20.0 9
7 H 28.0 4

#view updated data types
print(df.dtypes )

team object
points float64
assists int64
dtype: object

Обратите внимание, что столбец точек теперь имеет тип данных float64 .

Способ 2: используйте to_numeric() для преобразования объекта в число с плавающей запятой

В следующем коде показано, как использовать функцию to_numeric() для преобразования столбца точек в DataFrame из объекта в число с плавающей запятой:

#convert points column from object to float
df['points'] = pd.to_numeric(df['points'], errors='coerce')

#view updated DataFrame
print(df)

 team points assists
0 A 18.0 5
1 B 22.2 7
2 C 19.1 7
3 D 14.0 9
4 E 14.0 12
5 F 11.5 9
6 G 20.0 9
7 H 28.0 4

#view updated data types
print(df.dtypes )

team object
points float64
assists int64
dtype: object

Обратите внимание, что столбец точек теперь имеет тип данных float64 .

Также обратите внимание, что этот метод дает точно такой же результат, как и предыдущий метод.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в pandas:

Как преобразовать логические значения в целые значения в Pandas
Как преобразовать DateTime в строку в Pandas
Как преобразовать столбцы в int в Pandas

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.