「行と列、どっちが縦でどっちが横だっけ?」と毎回検索してしまう方は少なくないです。Excel・スプレッドシート・Pythonのどの場面でも、この混乱は頻繁に起きます。
この記事では、行と列の違いを一度で理解し、もう迷わなくなるための覚え方を丁寧に説明します。
行と列の違いをパッとわかる比較表で確認する
「行は横、列は縦」を一発で覚える方法
「横が行か列かわからなくなる」という方には、次の覚え方が効果的です。
- 「行」の漢字を横に倒すと横線になる:「行」の字はストロークが横方向に流れます。横に読む方向が「行」です。
- 「列」は縦に並ぶイメージ:「列」は行列(ぎょうれつ)の「列を成して縦に並ぶ」場面を思い浮かべてください。
- 英語で覚える:Row(ロウ)の「R」は横線に見える形。Column(カラム)は柱(柱は縦)。
- Excelの画面で確認:Excelを開いたとき、左端に数字が縦に並んでいますよね。あれが「行番号」です。行自体は横方向に伸びています。
どれかひとつだけでも自分に合う覚え方を選べば、もう迷わなくなるかもしれませんね。
Excelでの行と列の使い方
Excelでは行番号(数字)と列番号(アルファベット)が画面の端に表示されています。セルの位置は「列→行」の順で表記されます。
セルアドレスの「B3」は「B列・3行目」を意味します。列(アルファベット)が先、行(数字)が後という順序を覚えておきましょう。
PythonのpandasやNumPyでの行と列の扱い方
Pythonのデータ処理ライブラリでは、行と列の指定方法に独自のルールがあります。慣れると直感的に操作できますよ。
pandas(DataFrameの操作)
NumPyの2次元配列では、array[行インデックス, 列インデックス]の順で指定します。array[2, 3]は3行目・4列目のセルを指します(0始まり)。
行と列を混同しやすい場面と注意点
実際のデータ作業で「あれ?行と列どっちだっけ」と迷いやすい状況をまとめました。
- Excelのフィルター機能:フィルターは「行」を絞り込む機能です。列方向のフィルターはありません。
- VLOOKUPの「列番号」:VLOOKUP関数の第3引数は「何列目を返すか」を意味します。行番号ではないので注意が必要です。
- Pythonの転置(.T):DataFrameを
.Tで転置すると行と列が入れ替わります。思わぬバグの原因になることがあります。 - グラフ作成時の軸設定:X軸(横)が行方向、Y軸(縦)が列方向に対応するケースが多いです。データの向きを確認してからグラフを作りましょう。
- Google スプレッドシートのIMPORTRANGE:インポートしたデータの行列が意図と逆になることがあります。TRANSPOSE関数を組み合わせて対処できます。
コピペで使える行・列の操作テンプレート集
Excel・Python別に、すぐ使えるテンプレートを用意しました。
【Excelテンプレート1】行番号・列番号を取得する
=COLUMN() ← 現在のセルの列番号を返す
【Excelテンプレート2】行・列を固定する(絶対参照)
A$1 ← 1行目を固定(行のみ絶対参照)
$A$1 ← 列も行も固定(完全絶対参照)
【Pythonテンプレート1】pandasで行・列を選択する
df.iloc[:, 0] ← 1列目をすべて取得
df.iloc[0:3, 1:4] ← 1〜3行目・2〜4列目を取得
【Pythonテンプレート2】列の追加・削除
df = df.drop(“列名”, axis=1) ← 列を削除
【Pythonテンプレート3】行・列を入れ替える(転置)
行と列が反転したDataFrameを作成します。元のdfは変更されません。
行と列の違いに関するまとめ
行は横方向のデータの並びで、英語ではRowと言います。
列は縦方向のデータの並びで、英語ではColumnと言います。
Excelでは行が数字(1, 2, 3…)、列がアルファベット(A, B, C…)で表示されます。
Pythonのpandasでは行がaxis=0、列がaxis=1に対応します。
「行の漢字は横に読む方向」「列は縦に並ぶイメージ」という覚え方が混乱を防ぎやすいです。
