Вы можете использовать один из следующих методов для преобразования столбца в 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