
武蔵野個別指導塾の特徴
高校情報I 分析用データの整形—単位と一行の意味をそろえて集計できる表に直す|武蔵野個別指導塾

水量を日付と容器ごとの表に直し、重複や単位を点検する分析用データの整形です。
よくあるのは、高校生が日別と容器別の記録が混在した表をそのまま足し、水量を二重に数える場面です。正しく集計するには、まず1行が何を表すかを決め、明細とその合計を区別します。水量の単位をそろえた後、変換前後の件数と総量を照合しましょう。
出方には、横に並ぶ容器の値を縦に移す型、異なる単位を同じ単位に直す型、日別合計と明細の混在を見抜く型があります。どの型でも、計算する前に記録の意味を確かめることが出発点です。
1行が表す範囲を決める
分析用データの整形とは、調べたいことに合わせて記録を扱いやすい形に直すことです。ここでは学習用に作った水量記録を使います。容器ごとの水量と日ごとの総量を求めたいなら、明細表の1行を「ある日付の、ある容器の水量」と定めると、どの値を足せるか判断しやすくなります。
図1のように、日付、容器の識別子、水量、単位がそろうと、各行の意味を追えます。識別子は容器を区別する印です。名前が似ていても別の容器なら別の識別子を使い、同じ容器は記録を通して同じ識別子で表します。

図1の行は、それぞれ日付と容器の組に対応します。日付が同じ行を足せば日別の総量になり、容器が同じ行を足せば容器別の総量になります。ただし、同じ組に複数の測定がある場合、1行の意味を「日付と容器ごとの測定」に変えて測定時刻や記録番号を加えるか、先に日別・容器別に合算するかを条件に応じて決めます。
横持ちの表は、例えば1行が1日で、容器A、容器Bという列に水量を並べる形です。元の表で見比べやすい一方、容器が増えると列が増えます。縦持ちは容器を列名でなく値として置き、日付、容器、水量を各行に記録する形です。縦持ちにすると同じ水量の列を日付や容器でまとめやすくなります。
形を変えるときは、列名に隠れていた容器の区別を行の値として移します。元の1行が2容器分なら、値が2つ記録されているとき縦持ちでは2行です。行数が増えること自体は重複ではありません。日付と容器の組を元表へ戻せるかが判断の手掛かりです。
水量を足す前には単位をそろえます。ここでは1 Lを1000 mLとして換算し、整形後の水量はmLで表します。0.7 Lは700 mLです。数だけを足すと、0.7と300は同じ大きさの単位を表していないため、意味のある総量になりません。
空欄は0と同じではありません。0は水量が0と記録された値で、空欄は値が記録されていない状態です。空欄があるときは未記録のまま残して確認し、得られた値だけの合計を全体の総量と呼ばないようにします。欠けた値を勝手に補うと、元の記録にない事実が作られます。
日付の表記も統一します。例えば年・月・日をそれぞれ別の列にするか、同じ順序の文字列にそろえます。表記だけでは同じ日か判断できない記録は、推測して結び付けず原記録を確認します。整形は見た目をそろえる作業にとどまらず、元の意味を保って比較できる条件を作る作業です。
基本例題:横持ちから縦持ちへ
次の表は、同じ年の2日間に容器AとBからそれぞれ取り出した水量の記録です。1日につき各容器の記録は1つで、空欄はありません。1 Lは1000 mLとします。日付の早い順、同じ日ならA、Bの順に、1行を日付と容器の組とする縦持ち表を作り、水量をmLで記してください。日別の合計と2日間の総量もmLで求めます。
| 日付 | A | B |
|---|---|---|
| 4月1日 | 0.5 L | 300 mL |
| 4月2日 | 200 mL | 0.4 L |
まず列名AとBを容器列の値にします。各日の水量は2つずつなので、元の2行から4行の明細を作ります。
- 4月1日のAは0.5 Lなので、500 mLです。
- 4月1日のBは300 mLのままです。
- 4月2日のAは200 mLのままです。
- 4月2日のBは0.4 Lなので、400 mLです。
| 日付 | 容器 | 水量 mL |
|---|---|---|
| 4月1日 | A | 500 |
| 4月1日 | B | 300 |
| 4月2日 | A | 200 |
| 4月2日 | B | 400 |
図2のように、元の列名と値を同じ日付に結び付けたまま移します。4月1日は500と300で800 mL、4月2日は200と400で600 mLです。2日間では800と600を足して1400 mLになります。

図2の4行を逆にたどると、4月1日のAは500 mL、Bは300 mLで、元の0.5 Lと300 mLに戻ります。4月2日も200 mLと0.4 Lに戻ります。変換前の量をmLで足した500、300、200、400の合計も1400 mLです。行数は2から4に変わりますが、水量の記録は4個のままで、総量も変わりません。
元表の各列が別の容器であることを落とすと、合計が合っても容器別の集計はできません。総量に加えて、日付と容器の対応まで戻して確かめる理由がここにあります。順序を変えても意味は変わりませんが、この問題では指定された順に並べます。
標準例題:合計行を明細に重ねない
次は同じ年の水量記録です。各日の合計行は、その日の容器別明細を足して記録したもので、追加の水量ではありません。1 Lを1000 mLとして、日付と容器の組を1行とする明細を日付順、同日ならC、Dの順に作り、各日の総量と2日間の総量をmLで求めてください。
| 日付 | 区分 | 水量 |
|---|---|---|
| 5月3日 | C | 600 mL |
| 5月3日 | D | 0.2 L |
| 5月3日 | 日計 | 800 mL |
| 5月4日 | C | 0.3 L |
| 5月4日 | D | 500 mL |
| 5月4日 | 日計 | 0.8 L |
まずDの0.2 Lを200 mL、Cの0.3 Lを300 mL、日計の0.8 Lを800 mLと直します。5月3日の明細の和は600と200で800 mLです。5月4日の明細の和は300と500で800 mLです。どちらも日計の記録と一致します。
明細は順に(5月3日、C、600)、(5月3日、D、200)、(5月4日、C、300)、(5月4日、D、500)です。水量の単位はいずれもmLです。日別総量は800 mLずつ、2日間の総量は1600 mLです。元の6行から日計2行を照合用として分け、集計対象の明細は4行になります。
もし6行の水量をそのまま足せば3200 mLになり、明細とその日計を二重に数えます。逆に日計2行だけを足しても日別総量から2日間の総量は得られますが、容器別の内訳は日計だけでは復元できません。何を答えるかで使う行の範囲を決め、違う範囲の量を混ぜないことが必要です。
日計と明細の和が一致しなかった場合は、どちらかを正しいと決めつけないでください。単位、転記、対象の容器、記録の時点を確認し、元の記録と照合します。原因が不明なら不一致を残して扱いを保留します。合計を一致させるために明細を勝手に書き換えると、誤りの場所を追えなくなります。
発展例題:記録の粒度を変える
次の表は、同じ年の6月1日に容器EとFから取り出した水量です。同じ容器で午前と午後に別々に取り出しています。1 Lを1000 mLとし、午前と午後を合算した日付・容器ごとの明細をE、Fの順にmLで作ってください。元の測定件数と整形後の行数、総量も答えます。
| 日付 | 時間帯 | 容器 | 水量 |
|---|---|---|---|
| 6月1日 | 午前 | E | 0.2 L |
| 6月1日 | 午後 | E | 150 mL |
| 6月1日 | 午前 | F | 400 mL |
| 6月1日 | 午後 | F | 0.1 L |
- Eの午前は200 mL、午後は150 mLです。
- Eの1日分は200と150で350 mLです。
- Fの午前は400 mL、午後は100 mLです。
- Fの1日分は400と100で500 mLです。
- 総量は350と500で850 mLです。
整形後は(6月1日、E、350 mL)、(6月1日、F、500 mL)の2行です。元の測定は4件なので、測定件数4と集計後の行数2を区別して記します。元の4値をmLで足しても200、150、400、100の和は850 mLです。容器別にも、Eは350 mL、Fは500 mLと元表に戻して一致を確認できます。
ただし、350 mLという日別の値から、午前が200 mLで午後が150 mLだったことは復元できません。同じ日別合計を与える時間帯の組は他にもあります。後で時間帯別に比べる可能性があるなら、元の4行を保存しておきます。合算は水量の総和を保ちますが、時間帯の内訳は失う操作です。
同じ日付と容器の組が現れたからといって、直ちに重複として1行を消してはいけません。この条件では午前と午後の別の測定だからです。一方、同じ測定が誤って2回転記されたと確認できるなら、2回の取り出しとして足すことも誤りです。記録番号や原記録で由来を調べてから扱いを決めます。
誤答を直す:同じ水を2回足す
ある日の容器Gの明細が400 mL、容器Hの明細が300 mL、日計が700 mLだったとします。日計はGとHの合計で、新たに取り出した量ではありません。この3行を足し、1日の水量を1400 mLと答えるのは誤りです。
図3のように、日計は2つの明細をまとめた値です。400と300の和が700であることを日計と照合し、総量には明細の和700 mL、または日計700 mLを使います。日計と明細の両方を加えれば、同じ水量を二重に含めることになります。

図3では、日計を捨てるのではなく照合に使っています。日計が750 mLなら明細の和700 mLと一致しないため、単にどちらかに合わせず、対象や転記を確認します。一致したとしても、偶然2つの誤りが打ち消し合う可能性は残るので、日付と容器の対応も元表で点検します。
単位違いの失敗も別にあります。例えば0.4 Lと300 mLを数値のまま足して300.4とする答えは、水量の単位が定まっていません。400 mLと300 mLにそろえれば700 mLです。単位を列名に明示し、換算前の値も元表に残しておくと、後で誤換算を見つけやすくなります。
練習問題
いずれも学習用の記録です。1 Lは1000 mLとし、指定のない限り空欄はなく、各値は別の取り出しを表します。答えの水量はmLで表してください。
- 7月1日の容器Jは0.6 L、Kは250 mL、7月2日のJは350 mL、Kは0.2 Lです。1行を日付と容器の組にした表を、日付順、同日ならJ、Kの順に作り、日別と2日間の総量を求めてください。
- 8月1日の容器Mは450 mL、Nは0.15 L、日計は600 mLです。日計は明細の合計です。集計する明細の行数と総量を答え、3行を足した値が誤る理由を述べてください。
- 9月1日の容器Pの午前は120 mL、午後は0.28 L、容器Qの午前は0.3 L、午後は80 mLです。日付・容器ごとに合算した2行をP、Qの順に示し、元の件数、整形後の行数と総量を答えてください。
- 10月1日の容器Rは0 mL、Sは空欄、Tは200 mLです。空欄の意味は未記録です。記録済みの水量の合計と、3容器の総量を確定できるかを理由とともに答えてください。
- 11月1日の容器Uは300 mL、Vは400 mL、日計は800 mLと記されています。日計はUとVを合計したものという条件です。明細の和と日計の差をmLで示し、整形を確定する前に行う確認を述べてください。差は日計から明細の和を引きます。
練習の答えと解き方
1
縦持ち表は順に(7月1日、J、600 mL)、(7月1日、K、250 mL)、(7月2日、J、350 mL)、(7月2日、K、200 mL)です。0.6 Lは600 mL、0.2 Lは200 mLに直します。
7月1日は600と250で850 mL、7月2日は350と200で550 mLです。2日間の総量は850と550で1400 mLです。元の4つの値を同じ単位に直して足しても1400 mLで、日付と容器の組もそれぞれ元の条件へ戻せます。2日分の横持ち2行から明細4行になっても、水量の値は4個のままです。
2
0.15 Lは150 mLです。明細はMとNの2行で、450と150を足した総量は600 mLです。日計も600 mLなので照合が合います。
3行を足すと1200 mLですが、日計の600 mLはMとNの水量をまとめた値です。明細に日計を加えると同じ水量を2回数えます。明細の2行に戻して450と150の和が600であることを確かめれば、600 mLを答えとして使えます。
3
Pは120と280で400 mL、Qは300と80で380 mLです。整形後は(9月1日、P、400 mL)、(9月1日、Q、380 mL)の順です。元の測定は4件、整形後は2行で、総量は400と380の和780 mLです。
元表へ戻すと、Pの120と280、Qの300と80がそれぞれの容器の合計を作っています。4つの元の量の合計も780 mLです。ただし2行の合計表から午前と午後の内訳は一意に戻せません。時間帯の比較には元の4行を残します。
4
記録済みのRとTを足すと200 mLです。Rは0 mLと記録されている一方、Sは未記録なので、3容器の総量は確定できません。
Sを0と仮定して200 mLと答えると、未記録を測定値に変えてしまいます。Sの原記録を調べ、値が得られたら200 mLに加えて総量を求めます。得られない場合は記録済み分の合計と対象の範囲を明示します。
5
明細の和は300と400で700 mLです。日計800 mLから明細の和700 mLを引くと、差は100 mLです。日計と明細が同じ対象を示すという条件の下で、一致していません。
UとVの値や単位、日付、日計の対象と転記を原記録に戻って確かめます。どの値が誤っているかは、この表だけでは決められません。原因が判明するまでは差を残し、都合のよい値に修正しないことが必要です。
覚えておくこと
- 1行の意味と集計したい範囲を先に決めます。
- 単位、日付、識別子をそろえて元の対応を保ちます。
- 明細とその合計を重ねて足さず、件数と総量を照合します。
- 空欄や不一致は勝手に補わず、原記録を確認します。
- 合算で失われる内訳を考え、元の記録を残します。
つまずきの見分け方
合計が合うのに容器別の結果が違うなら、横持ちの列名を移すときに日付や容器の対応を取り違えていないか確認します。日計を含む行数をそのまま明細の件数にしている場合は、1行ごとに対象の範囲を言葉にしてみましょう。
個別指導では、元表の1つの値を指して、整形後のどの行に移ったかを説明できるかを確認します。空欄や不一致がある例でも、計算を進める前に何を確認するかをたどります。水量の値とその由来が結び付いて初めて、集計結果を元の記録へ戻せます。
読んで終わりにするか、ここから変えるか。
武蔵境駅徒歩30秒、講師1人に生徒1人の完全1対1。授業のあいだ、先生は隣を離れません。いまの詰まりを、無料相談でそのまま話してください。
まず15分だけ電話で話したい方は、無料電話相談(15分)から。塾からお電話を差し上げます。
本気になった日が、入塾の日。
お子様の教育、迷ったら「丸投げ」してください。必ず、期待以上の結果で返します。武蔵野で育む、武蔵境で学ぶ。
電話は年中無休。365日、24時間、お電話可能。




