Python 文字列から浮動小数点数、浮動小数点数から文字列

スポンサーリンク

今回は、PythonのStringからfloatへの変換、およびその逆を扱います。

日々のプログラミングの中で、扱っているデータの型を変換する必要性を感じる場面に何度も出くわします。

スポンサーリンク

Python String to float

Pythonは、入力のデータ型をStringからfloatに変換する組み込みの float() メソッドを提供しています。

構文は以下の通りです。

float(input_string)

例えば、以下の様になります。

inp = '99.23'
print("Input string:
"
,inp)
opt = float(inp)
 
 
print('Input value after converting it to float type:
'
,opt)
print(type(opt))

結果は以下の通りです。

Input string:
 99.23
Input value after converting it to float type:
 99.23
<class 'float'>

Python NumPy の文字列を float に変換します。

NumPyモジュールは、データの型を変換するために astype() メソッドを持っています。

astype() メソッドは、入力データの型を、パラメータで指定されたデータ型に変換します。

構文は以下の通りです。

input_string.astype(numpy.float)

例えば、以下の様になります。

import numpy
inp = numpy.array(["76.5", "75.5", "75.7"])
 
print ("Input array:
"
)
print(str(inp))
 
opt = inp.astype(numpy.float)
 
print ("Output array after conversion:
"
)
print(str(opt))

結果は以下の通りです。

Input array:
 
['76.5' '75.5' '75.7']
Output array after conversion:
 
[ 76.5  75.5  75.7]

Pandas String から float への変換

Pandas モジュールは、データセットの特定のフィールドのデータ型を指定された型に変換するために astype() 関数も使用します。

構文は以下の通りです。

input.astype(float)

入力 csv ファイル:

import pandas
import numpy
inp = pandas.read_csv('C:UsersHPDesktopBook1.csv')
print(inp.dtypes)
inp['Value'] = inp['Value'].astype(float)
print(inp)
print(inp.dtypes)

例えば、以下の様になります。

Details     object
Value      float64
dtype: object
 
           Details  Value
0        John:Pune  21.00
1      Bran:satara  22.00
2      Sam:Chennai  85.24
3       RHEY:Delhi  12.00
4  CRANNY:Karnatak  25.26
 
Details     object
Value      float64
dtype: object

結果は以下の通りです。

str(input)

Python の float から String への変換

Python の String には、任意の型の入力データを String 形式に変換する str() メソッドが組み込まれています。

構文は以下の通りです。

inp = 77.77
print(inp)
print(type(inp))
 
opt = str(inp)
print(opt)
print(type(opt))

例えば、以下の様になります。

77.77
<class 'float'>
77.77
<class 'str'>

結果は以下の通りです。

["%.2f" % i for i in input_array]

Python NumPy float から String への変換

Python NumPy の float 配列を String 要素の配列に変換するために List Comprehension を使用することができます

構文は以下の通りです。

import numpy
inp = numpy.array([77.75, 77.25, 77.55])
print("Input array:
"
,inp)
opt =["%.2f" % i for i in inp]
print("Converted array to string:
"
)
print(opt)

例えば、以下の様になります。

Input array:
 [77.75 77.25 77.55]
Converted array to string:
['77.75', '77.25', '77.55']

上記のコードでは、”%.2f” は出力配列に小数点以下2桁までの精度を与えます。

結果は以下の通りです。

Input csv file
Input File

まとめ

今回は、Pythonのデータ構造を使って、文字列からfloat形式への変換、またその逆の変換を理解しました。


タイトルとURLをコピーしました