Pandas でオブジェクトを float に変換する方法 (例あり)
次のいずれかのメソッドを使用して、pandas DataFrame の列をオブジェクトから浮動小数点数に変換できます。
方法 1: astype() を使用する
df[' column_name '] = df[' column_name ']. astype (float)
方法 2: to_numeric() を使用する
df[' column_name '] = pd. to_numeric (df[' column_name '])
どちらの方法でも同じ結果が得られます。
次の例は、次の pandas DataFrame で各メソッドを使用する方法を示しています。
import pandas as pd #createDataFrame 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 to 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:28 a.m. 4 #check data type of each column print ( df.dtypes ) team object points object assists int64 dtype:object
方法 1: astype() を使用してオブジェクトを float に変換する
次のコードは、 astype()関数を使用してオブジェクトの DataFrame のポイント列を float に変換する方法を示しています。
#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
3D 14.0 9
4 E 14.0 12
5 F 11.5 9
6G 20.0 9
7 A.M. 28.0 4
#view updated data types
print ( df.dtypes )
team object
float64 points
assists int64
dtype:object
ポイント列のデータ型がfloat64になったことに注意してください。
方法 2: to_numeric() を使用してオブジェクトを Float に変換する
次のコードは、 to_numeric()関数を使用してオブジェクトの DataFrame のポイント列を float に変換する方法を示しています。
#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
3D 14.0 9
4 E 14.0 12
5 F 11.5 9
6G 20.0 9
7 A.M. 28.0 4
#view updated data types
print ( df.dtypes )
team object
float64 points
assists int64
dtype:object
ポイント列のデータ型がfloat64になったことに注意してください。
この方法では、前の方法とまったく同じ結果が得られることにも注意してください。
追加リソース
次のチュートリアルでは、パンダで他の一般的なタスクを実行する方法を説明します。
Pandasでブール値を整数値に変換する方法
PandasでDateTimeを文字列に変換する方法
Pandas で列を整数に変換する方法