この記事では、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の扱いになれ、さらに快適な生活を送っていきましょう(^^)/