この記事ではPythonで割り算をし、切り捨てや切り上げをする方法について解説していきます。
ポイントとしては`floor`関数、`ceil`関数、`divmod`関数を使用することです。
pythonなどのプログラミングでは初〜中級者の段階では考えるよりも、見て覚えて慣れてしまうのがおすすめなので、ぜひ本記事をご活用くださいませ。
それでは詳しく確認していきます。
pythonで割り算をし切り捨てし整数と余りに分割する方法【divmod】
それではまず、pythonで割り算をし切り捨てし整数と余りに分割する方法について解説していきます。
warukazu = 10
waretesuru = 3
# divmod関数を使用し、商と余りを取得
shang, amari = divmod(warukazu, waretesuru)
# 結果を表示
print(f"{warukazu} ÷ {waretesuru} の商は {shang}、余りは {amari}")
`divmod`関数は第一引数を第二引数で割った商と余りを、タプルで返します。
上記の例では`warukazu`を`waretesuru`で割った商を`shang`に、余りを`amari`に代入しています。
出力結果の例
jupyter notebookでの出力結果のスクショは以下の通りです。
10 ÷ 3 の商は 3、余りは 1
pythonで割り算をし切り上げし整数のみ出す方法。データフレームok列を10で割り、kekka列に切り上げ結果を表示させる【ceil】
続いては、pythonで割り算をし切り上げし整数のみ出す方法について解説していきます。
import pandas as pd
import math
# サンプルデータフレームを作成
deta = {'ok': [15, 23, 37, 49]}
df = pd.DataFrame(deta)
# ceil関数を使用し、ok列を10で割った結果を切り上げ
df['kekka'] = df['ok'].apply(lambda x: math.ceil(x/10))
# 結果を表示
print(df)
`math`モジュールの`ceil`関数を使用すると、小数点以下を切り上げた整数を取得できます。
上記の例ではデータフレーム内で列方向に一括処理のため`ok`列の値を10で割り、`apply`メソッドと`lambda`式を使って各行に`ceil`関数を適用しています。
出力結果の例
jupyter notebookでの出力結果のスクショは以下の通りです。
ok kekka
0 15 2
1 23 3
2 37 4
3 49 5
まとめ 【Python】割り算で切り上げ(整数と商)やあまり計算方法【floor, ceil, divmod】
以上、Pythonで割り算の切り捨てや切り上げを行う方法について解説しました。
`divmod`関数を使えば商と余りを同時に取得でき、`ceil`関数を使えば小数点以下を切り上げた整数が取得できます。
ぜひ実際にコードを書いて試してみてください。