コンテンツにスキップ

pythonのround関数を使って効率的に数値を四捨五入する方法

[

Pythonの数値の丸め方について

Pythonは強力なデータサイエンスエコシステムを持つため、多くの企業がデータの解析にPythonを使用しています。しかし、データセットにバイアスを導入しないためには、どのように丸めるかを理解することが重要です。バイアスのあるデータから結論を導くと、高額なミスを引き起こす可能性があります。

このチュートリアルでは、以下のことを学びます:

  • 数値の丸め方が重要な理由
  • さまざまな丸め戦略に従って数値を丸める方法
  • 各戦略を純粋なPythonで実装する方法
  • 丸めがデータに与える影響と、この影響を最小限に抑える丸め戦略
  • NumPy配列pandasのDataFrameで数値を丸める方法
  • 異なる丸め戦略をどの場面で使用するか

クイズを受けてみましょう: インタラクティブな「Pythonでの数値の丸め」クイズで知識をテストしましょう。完了後、成績が表示されるため、学習の進捗を追跡することができます。

クイズに挑戦する »

まず、Pythonの組み込み丸めメカニズムを見てみましょう。

Pythonの組み込みround()関数

Pythonには組み込みのround()関数があります。この関数は2つの数値引数nndigitsを受け取り、nndigitsで丸めた結果を返します。ndigits引数はデフォルトでゼロのため、省略すると整数に丸められた数値が返されます。しかし、予想とは異なる結果が得られる場合もあります。

多くの人が数値を丸める方法として習ったのは次のようなアルゴリズムです:

  • 数値np桁で丸めるために、まずnの小数点をp桁分シフトさせます。これには、nに10の「p乗」(10をp回掛けた数)を掛けて新しい数mを得るという手順が必要です。
  • 次に、mの小数点以下1桁目の数dを見ます。もしdが5未満であれば、mを最も近い整数に切り捨てます。それ以外の場合は、mを最も近い整数に切り上げます。
  • 最後に、mを10の「p乗」で割って、小数点を元の位置に戻します。

たとえば、最も近い整数に丸められた2.53になります。小数点以下1桁で丸められた1.641.6になります。

それでは、Pythonの組み込みround()関数を使って2.5を最も近い整数に丸めてみましょう:

>>> round(2.5)
3

以降、Pythonの丸め機能について実際のコード例を交えながら詳しく見ていきます。