数値列の丸め
数値の端数を処理します。小数点以下を切り捨てる、100 円単位に丸める、1000 刻みの区切りにまとめる、といった使い方をします。
列どうしを計算した結果を丸めたいときは、先に数値列同士の演算をつないでください。
入出力
| ポート | 内容 |
|---|---|
| 入力データ | データ |
| 出力データ | データ(新規列に挿入なら 1 列、右端に増えます) |
Spark エンジンでも動きます。
設定項目
「オプション」はチェックを入れるまで中身が出ません。 見出しの横のチェックボックスを on にすると、任意の始点を設定する が出ます。
- 結果の挿入先を設定
- 新規列に挿入(既定)か既存列に上書き。
- 新規列名を入力必須
- 「新規列に挿入」のときに出ます。結果を入れる列の名前。
- 処理対象列を選択必須
- 丸める列。数値の列だけ選べます。選べるのは 1 列だけです。「既存列に上書き」のときは「数値列を選択」という名前で出て、この列がそのまま結果の入り先になります(元の値は残りません)。
- 処理を選択
- 切り捨て(既定)/ 四捨五入 / 切り上げ / 任意の刻み幅で丸める。
- 桁数を入力必須
- 切り捨て・四捨五入・切り上げのときに出ます。整数だけ入れられます。マイナスも入れられます。
- 刻み幅を入力必須
- 「任意の刻み幅で丸める」のときに出ます。小数も入れられます。
- 任意の始点を設定する
- 「任意の刻み幅で丸める」のときに出ます。刻みの起点。入れないと
0から数えます。
桁数の数え方
0 が小数点の位置、プラスが小数側、マイナスが整数側です。切り捨て・四捨五入・切り上げの 3 つに共通です。
| 桁数 | 1234.567 を四捨五入 |
|---|---|
| 2 | 1234.57 |
| 1 | 1234.6 |
| 0 | 1235 |
| -1 | 1230 |
| -2 | 1200 |
| -3 | 1000 |
「100 円単位に丸める」なら -2 です。
ちょうど真ん中の値とマイナスの値
四捨五入は、5 を 0 から遠い方に送ります。 桁数 0 なら 0.5 は 1、1.5 は 2、2.5 は 3、マイナス側は -1.5 が -2、-0.5 が -1 です。「2 の次は偶数に寄せる」といった別の丸め方はしません。
マイナスの値では、3 つの処理の向きに気を付けてください。 切り捨て・切り上げは「0 に近づける/遠ざける」ではなく、数直線の小さい方・大きい方に動きます。
| 元の値 | 切り捨て(桁数 0) | 四捨五入(桁数 0) | 切り上げ(桁数 0) |
|---|---|---|---|
| 1.5 | 1 | 2 | 2 |
| -1.5 | -2 | -2 | -1 |
| -0.5 | -1 | -1 | 0 |
刻み幅で丸める
「任意の刻み幅で丸める」は、始点から刻み幅ごとの区切りのうち、その値を超えない一番近いところに落とします。
始点 0、刻み幅 1000 なら、0 1000 2000 … のいずれかになります。始点を 500 にすると 500 1500 2500 … になります。
始点より小さい値も扱えます。 始点から下にも同じ刻みで区切りが続きます。始点 500、刻み幅 1000 なら、200 は -500 になります。
年齢を 5 歳刻みにする、金額を 1000 円刻みのランクにする、といった使い方です。
空欄のある行
空欄はそのまま空欄で出ます。 どの処理を選んでも、0 とみなしたりはしません。先に埋めたいときは欠損値処理を使ってください。
エラーと対処
どのエラーも、設定を直してからノードを実行し直せば先に進めます。
数値でない列を指定した
処理対象列に数値以外の列が入っているとき。列を選んだあとで前の処理が変わり、型が数値でなくなったときにも出ます。
処理対象列には数値型しか指定できません。
直し方 — 列の型変更で数値にしてください。
新規列名が既にある
「新規列名を入力」に入れた名前が、入力データに既にあるとき。
新規列名(
{{new_col}})が既存の列名と重複しています。
{{new_col}} には、重複した列名が入ります。
直し方 — 別の列名を入れるか、「既存列に上書き」に切り替えてください。
列を選ばずに実行した
処理対象列を選択(「既存列に上書き」なら列を選択)が空のまま実行したときに出ます。前の処理で列名が変わり、選んでいた列が入力データからなくなったときにも同じメッセージです。
対象の列が選択されていません。
直し方 — 列を選び直してください。
よく使う例
1. 小数を整数にする
お題 — 平均の小数点以下を落としたい
入力
| 商品 | 平均単価 |
|---|---|
| りんご | 123.4 |
| みかん | 98.7 |
設定 — 新規列名 平均単価_整数、処理対象列 平均単価、処理「切り捨て」、桁数 0
出力
| 商品 | 平均単価 | 平均単価_整数 |
|---|---|---|
| りんご | 123.4 | 123 |
| みかん | 98.7 | 98 |
2. 小数第 2 位までにする
お題 — 比率を見やすくしたい
入力
| 商品 | 構成比 |
|---|---|
| りんご | 0.33333 |
| みかん | 0.66667 |
設定 — 新規列名 構成比_丸め、処理対象列 構成比、処理「四捨五入」、桁数 2
出力
| 商品 | 構成比 | 構成比_丸め |
|---|---|---|
| りんご | 0.33333 | 0.33 |
| みかん | 0.66667 | 0.67 |
3. 100 円単位に丸める
お題 — 金額をざっくり見たい
入力
| 店舗 | 売上 |
|---|---|
| A | 12345 |
| B | 9850 |
設定 — 新規列名 売上_百円単位、処理対象列 売上、処理「四捨五入」、桁数 -2
出力
| 店舗 | 売上 | 売上_百円単位 |
|---|---|---|
| A | 12345 | 12300 |
| B | 9850 | 9900 |
4. 年齢を 5 歳刻みにする
お題 — 年代より細かい刻みで集計したい
入力
| 会員 | 年齢 |
|---|---|
| A | 23 |
| B | 38 |
| C | 40 |
設定 — 新規列名 年齢区分、処理対象列 年齢、処理「任意の刻み幅で丸める」、刻み幅 5、始点 0
出力
| 会員 | 年齢 | 年齢区分 |
|---|---|---|
| A | 23 | 20 |
| B | 38 | 35 |
| C | 40 | 40 |
5. 端数が出たら必ず 1 つ上にする
お題 — 必要数に端数があるときは 1 つ多く用意したい
入力
| 商品 | 必要数 |
|---|---|
| りんご | 2.1 |
| みかん | 3.0 |
設定 — 新規列名 発注数、処理対象列 必要数、処理「切り上げ」、桁数 0
出力
| 商品 | 必要数 | 発注数 |
|---|---|---|
| りんご | 2.1 | 3 |
| みかん | 3.0 | 3 |
6. 元の列を丸めた値で置き換える
お題 — 丸める前の値は要らないので、列を増やしたくない
入力
| 店舗 | 売上 |
|---|---|
| A | 12345.6 |
| B | 9850.2 |
設定 — 結果の挿入先「既存列に上書き」、処理対象列 売上、処理「切り捨て」、桁数 0
出力 — 列は増えず、売上 の中身が入れ替わります
| 店舗 | 売上 |
|---|---|
| A | 12345 |
| B | 9850 |
7. 500 円刻みの価格帯にまとめる
お題 — 500 円ごとの価格帯で件数を数えたい
入力
| 商品 | 価格 |
|---|---|
| りんご | 1200 |
| みかん | 1800 |
| ぶどう | 2000 |
設定 — 新規列名 価格帯、処理対象列 価格、処理「任意の刻み幅で丸める」、刻み幅 500、始点 0
出力
| 商品 | 価格 | 価格帯 |
|---|---|---|
| りんご | 1200 | 1000 |
| みかん | 1800 | 1500 |
| ぶどう | 2000 | 2000 |