本文へスキップ
totonoe.tech

プログラミング言語を整える

中級

NumPy・pandas を整える

= Excel の「並べ替え」「絞り込み」「集計」を pandas のコードで書く練習場

4つの課題(クリックでエディタに読み込み)

PYTHON CODE Pyodide 0.28(numpy・pandas 同梱)で実行・送信ゼロ

コードを書いて「実行」を押すと、ここに print 出力・表・最後の式の値が出ます。

4つの課題で NumPy・pandas の骨格をつかむ。

  1. 1

    NumPy 配列 — 作る・形(shape)・要素ごとの演算

    np.array([...]) で配列を作ると、 a * 2 のように全要素へ一括で演算できます。ループを自分で書く必要がありません。

  2. 2

    DataFrame を作る — 辞書から・head・describe

    pd.DataFrame(辞書) で表を作れます。 head() で先頭数行、 describe() で数値列の統計をまとめて確認できます。

  3. 3

    絞り込みと並べ替え — boolean index・sort_values

    df[df["age"] >= 30] のように条件式を角括弧に渡すと、条件に合う行だけが残ります。 sort_values(列名) で並べ替え。

  4. 4

    集計 — groupby・agg・pivot_table

    groupby("列").agg(...) でグループごとの集計、 pivot_table(...) で2つの軸のクロス集計ができます。

NumPy と pandas の役割分担

どちらも「表・配列を扱うライブラリ」ですが、担う階層が違います。

  • NumPy — 同じ型の値が並んだ「配列」を高速に計算するための土台。行列演算・統計関数など、数値計算そのものを担当します。
  • pandas — NumPy の配列を土台に、列ごとに名前と型を持てる「表(DataFrame)」を扱うためのライブラリ。列名・行ラベル・欠損値の扱いなど、表計算に必要な機能を足しています。
  • 実際には、pandas の DataFrame の中身は列ごとに NumPy 配列として保持されています。「NumPy が計算エンジン、pandas が表としての使い勝手を足したもの」という関係です。

Excel との対応

Excel の操作を知っていれば、pandas の用語はほぼそのまま対応づけられます。

Excel pandas
シート(表全体) DataFrame
1列 Series
行番号(左端の1,2,3…) index
見出し行 columns
フィルター boolean index(df[条件])
並べ替え sort_values()
ピボットテーブル pivot_table() / groupby()

このページについて

最後の行が式で、その値が DataFrame または Series のときだけ、下の出力に表として表示します。 Excel の「値を貼り付け」と同じで、表示は先頭 50 行までです(それより多い行数は件数だけ注記します)。

💡 初回は Pyodide(Python WASM)本体に加えて、numpy・pandas 追加で約9MBの追加ダウンロードがあります(合わせて数秒〜十数秒)。2 回目以降はキャッシュから瞬時にロード。 書いたコードと実行結果は、どこにも送信されません(すべてブラウザ内で実行)。

🌐 このページを開いただけでは外部通信は発生しませんが、「実行」を押した最初の1回だけ、 Python の実行環境(Pyodide 0.28.0)と numpy・pandas パッケージを配信元の cdn.jsdelivr.net から取得します。 これはプログラムを受け取るだけの通信で、あなたが書いたコードや実行結果が送られることはありません。 ただし通信である以上、配信元にはお使いの回線の IP アドレスが見えます。 「入力は端末から出さない」という当サイトの原則に関わる点なので、隠さずに書いておきます。

このツールについて

表計算ソフトでやっていた「並べ替え」「絞り込み」「集計」を、Python のコードで書く練習場です。ブラウザの中だけで NumPy・pandas が動くので、書いて → 実行 → 表の形がどう変わるかを何度でも試せます。

ブラウザ内の pandas で「並べ替え」「絞り込み」「集計」を実際に書いて試す練習場。最後の式が DataFrame なら自動で表として表示。Excel の操作との対応表つき。

主な機能

  • 4課題(NumPy 配列/DataFrame を作る/絞り込みと並べ替え/groupby・pivot_table)
  • 最後の式が DataFrame/Series なら表として表示(先頭50行)
  • NumPy と pandas の役割分担・Excel との対応表
  • numpy・pandas は初回のみ追加ダウンロード(約9MB)・送信ゼロ

よくある質問

Q. NumPy と pandas は何が違いますか?

A. NumPy は同じ型の値が並んだ配列を高速に計算するための土台です。pandas はその上に、列ごとに名前と型を持てる表(DataFrame)を扱う機能を足したライブラリで、DataFrame の中身は列ごとに NumPy 配列として保持されています。

Q. 表は何行まで表示されますか?

A. 先頭50行までです。それより多い DataFrame や Series は、全体の行数を注記したうえで先頭50行だけを表示します。

Q. 最後の行に df とだけ書くと表が出るのはなぜですか?

A. Python の対話環境(REPL・Jupyter)で最後の式の値が自動表示される挙動を再現しているためです。print(df) と書かなくても、最後の文が DataFrame や Series の式なら表として表示します。

入力値はURLの「#」以降に入るためサーバーには送信されません。リンクを開くと同じ状態を復元します。

続けて整える

KOINOBORI ECOSYSTEM

私たちが運営するサイト