Python

【Python】floatとintの変換(切り捨て:配列リスト:データフレームなど)する方法

当サイトでは記事内に広告を含みます

この記事では、Pythonでfloatとintを変換する方法(リストとデータフレームの両方)について解説していきます。

ポイントとしてはfloor()やmath.ceil()を使った切り捨てと四捨五入、astype()を使ったデータ型の変換を使用することです。

pythonなどのプログラミングでは初〜中級者の段階では考えるよりも、見て覚えて慣れてしまうのがおすすめなので、ぜひ本記事をご活用くださいませ。

それでは詳しく確認していきます。

 

Pythonでfloatをintの変換(リスト)する方法【切り捨てと四捨五入】【floor(), math.ceil()】

それではまず、Pythonでfloatをintの変換(リスト)する方法【切り捨てと四捨五入】について解説していきます。

切り捨てにはmath.floor()を、四捨五入にはmath.ceil()を使用します。

import math

# floatのリストを用意
shuryouhin = [1.7, 2.4, 3.9, 4.2, 5.6] 

# 切り捨てでintに変換
kirisute_shuryouhin = [math.floor(x) for x in shuryouhin]
# math.floor()で各要素を切り捨て、リスト内包表記でint型のリストを作成

# 四捨五入でintに変換 
shisyagonyuu_shuryouhin = [math.ceil(x) for x in shuryouhin]  
# math.ceil()で各要素を四捨五入、リスト内包表記でint型のリストを作成

print(f"元のfloatのリスト: {shuryouhin}")
print(f"切り捨て後のintのリスト: {kirisute_shuryouhin}") 
print(f"四捨五入後のintのリスト: {shisyagonyuu_shuryouhin}")

出力結果の例

jupyter notebookでの出力結果のスクショは以下の通りです。

 

Pythonのデータフレームのsuuchi列をfloatからintに変換する方法【切り捨てと四捨五入】【astype(), apply()】

続いては、Pythonのデータフレームのsuuchi列をfloatからintに変換する方法として、切り捨てverと四捨五入verの両方を解説していきます。

列のデータ型変換にはastype()を、各要素に関数を適用するにはapply()を使用します。

import pandas as pd
import math

# サンプルデータフレーム
sukuriimu = pd.DataFrame({'aji': ['バニラ', 'チョコ', 'ストロベリー', 'マンゴー'], 
                        'suuchi': [3.7, 4.2, 3.9, 4.8]}) 

# suuchi列を切り捨ててintに変換
sukuriimu['suuchi_int_kirisute'] = sukuriimu['suuchi'].apply(math.floor).astype(int)
# apply()で各要素をmath.floor()で切り捨て、astype(int)でint型に変換し新しい列に代入

# suuchi列を四捨五入してintに変換
sukuriimu['suuchi_int_shisyagonyuu'] = sukuriimu['suuchi'].apply(math.ceil).astype(int)  
# apply()で各要素をmath.ceil()で四捨五入、astype(int)でint型に変換し新しい列に代入

print(sukuriimu)

出力結果の例

jupyter notebookでの出力結果のスクショは以下の通りです。

 

 

Pythonでintをfloatに変換(リスト)する方法【astype()】

次に、Pythonでintをfloatに変換(リスト)する方法を見ていきます。

astype()を使ってデータ型を変換します。

# intのリストを用意
tabemono = [2, 4, 6, 8, 10]

# intからfloatに変換
tabemono_float = [float(x) for x in tabemono]
# float()で各要素をfloat型に変換し、リスト内包表記でfloat型のリストを作成  

print(f"元のintのリスト: {tabemono}")  
print(f"float変換後のリスト: {tabemono_float}")

出力結果の例

jupyter notebookでの出力結果のスクショは以下の通りです。

 

Pythonのデータフレームのsuuchi列をintからfloatに変換する方法【astype()】

最後に、Pythonのデータフレームの列をintからfloatに変換する方法です。

こちらもastype()を使います。


import pandas as pd

# サンプルデータフレーム 
nomimono = pd.DataFrame({'shurui': ['コーラ', 'お茶', 'コーヒー', 'オレンジ'], 
                         'ryou': [350, 500, 180, 400]})

# ryou列をintからfloatに変換
nomimono['ryou_float'] = nomimono['ryou'].astype(float)
# astype(float)でfloat型に変換し、新しい列に代入

print(nomimono) 
print(nomimono.dtypes)

出力結果の例

jupyter notebookでの出力結果のスクショは以下の通りです。

 

まとめ Pythonでfloatとintの変換(配列:リスト:データフレーム:四捨五入など)する方法

ここでは、Pythonでfloatとintの変換(切り捨て:配列リスト:データフレームなど)する方法について確認しました。

Pythonの扱いになれ、さらに快適な生活を送っていきましょう(^^)/