レッスン4 / 5問目

『端数処理 - ufunc』

このレッスンでは数値の切上げ・切り捨て・四捨五入を行うユニバーサル関数について学習していきましょう。

ufunc説明
np.ceil切り上げ
np.floor切り捨て
np.rint四捨五入

ではこれらについて順番に見ていきましょう。

np.ceil

np.ceilを用いると配列の各要素を切上げすることができます。

  1. arr1 = np.array([1.4, 1.8, 2.0, 2.4, 2.8])
  2. arr2 = np.ceil(arr1)
  3. print(arr2)
[2. 2. 2. 3. 3.]    # 切上げ

配列の各要素が全て切上げされて出力されました。

np.floor

では続いて配列要素の切り捨てを行うnp.floorについて見ていきましょう。以下の例ではarr1の各要素の値を切り捨てた配列を出力しています

  1. arr1 = np.array([1.4, 1.8, 2.0, 2.4, 2.8])
  2. arr2 = np.floor(arr1)
  3. print(arr2)
[1. 1. 2. 2. 2.]    # 切り捨て

np.rint

続いて四捨五入を行うnp.rintです。以下の例ではarr1を四捨五入しています。

  1. arr1 = np.array([1.4, 1.8, 2.0, 2.4, 2.8])
  2. arr2 = np.rint(arr1)
[1. 2. 2. 2. 3.]    # 四捨五入

arr1の各要素を切り捨てた配列をが出力されました。

まとめ

このレッスンでは以下の切上げ、切り捨て、四捨五入を行うユニバーサル関数について学習しました。

ufunc説明
np.ceil切り上げ
np.floor切り捨て
np.rint四捨五入

ちなみに「ceil」「floor」はそれぞれ「天井」「床」という意味を持ちます。数学分野では天井関数や床関数といった関数がありそれぞれが切上げ、切り捨てを行う関数です。
また、「rint」の「r」に関してはround(四捨五入)を意味しています。

ではレッスンは以上となります。演習課題にチャレンジしましょう。

Lesson1

arr1の各要素を四捨五入した配列を出力してください。

Lesson2

arr1の各要素を切り捨てした配列を出力してください。

Lesson3

arr1の各要素を切り上げした配列を出力してください。

Last updated:2019/10/30

[2. 1. 4. 3. 6.]
[2. 1. 4. 2. 6.]
[3. 2. 5. 3. 6.]
  1. import numpy as np

  2. arr1 = np.array([2.5, 1.4, 4.5, 2.8, 6.0])

  3. # 1. arr1の各要素を四捨五入した配列を出力してください。

  4. arr2 = np.rint(arr1)
  5. print(arr2)

  6. # 2. arr1の各要素を切り捨てした配列を出力してください。

  7. arr3 = np.floor(arr1)
  8. print(arr3)

  9. # 3. arr1の各要素を切り上げした配列を出力してください。

  10. arr4 = np.ceil(arr1)
  11. print(arr4)
main.py
設定
g
n
i
d
a
o
L