いつもnehanをご利用いただきありがとうございます。
5/28(木)のリリースにて、欠損値(NA)の扱いを全面的に見直します。
背景としては、下記2点です。
- NAを含んだ各処理の挙動があまり直感的ではなかった
- 操作によっては空文字とNAが同居し、定義が曖昧になりがちだった
1, 空文字の概念を削除。全てNAに統合します
※下記、現在存在する空文字の例

2, デフォルトでNAを無視し、エラーが出ないようにします
対象
- 列 or 行方向の比率計算
- 列 or 行方向の累積和
- 数値の 2 値化
- 数値の正規化
- 数値の平滑化
- 数理の離散化
- boxcox 変換
- 文字列のゼロ埋め
※NAだった行は、NAのまま結果に格納します

3, 数値列の演算は、NAに数値を埋めた上で演算できるようにするオプションを付与します
現在、NAに演算を適用すると、結果は必ずNAになるため、利便性を向上します。
※↓現在、年齢に10を足しても、NAはNAのまま

4, 演算時、NAを無視しつつ、NAを埋められるオプションを付与します(2,3を両方適用)
対象
5, 文字列結合時、NAは強制的に空文字として扱います
- これまで
- 「nehan」と「<NA>」を結合 -> 「<NA>」
- これから
- 「nehan」と「<NA>」を結合 -> 「nehan」
対象
6, グループキーにNAが含まれている場合、デフォルト無視していましたが、一つの値として扱うようになります
下記のデータを例に、商品ごとに売上を合計する場合を用いて比較します。
商品 |
売上 |
商品A |
500 |
商品B |
100 |
商品B |
300 |
<NA> |
800 |
商品 |
売上 |
商品A |
500 |
商品B |
400 |
<NA> |
800 |
対象
- 先頭/末尾からn行選択(グループキー列)
- グループごとの結合(キー列)
- データ集計(キー列)
- クロス集計(縦に展開する列)
- キー列を指定する結合
- 条件付き結合
- 列 or 行方向の比率計算(グループキー列)
- 列 or 行方向の累積和(グループキー列)
- データを行方向にずらす(グループキー列)
- 時系列データの補間(グループキー列)
- シンプルなサンプリング(層別サンプリング時、層化する列)
- 数値の正規化(グループキー列)
- 単語頻度の集計(集計対象単語)