Slide 1

Slide 1 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. Pythonデータ分析実践試験 出題傾向や学習のポイント テクニカルハイライト 一般社団法人Pythonエンジニア育成推進協会 顧問理事 寺田 学 「Pythonデータ分析実践試験セミナー」 2025年5月7 日

Slide 2

Slide 2 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 自己紹介 寺田 学 (Manabu TERADA) ● Pythonエンジニア ● Podcast 「terapyon channel」(https://podcast.terapyon.net) ● 主な関連書籍(共著・監修・監訳) ○ Pythonデータ分析 実践ハンドブック(2023年,インプレス,共著) ○ Pythonによるあたらしいデータ分析の教科書 第2版 (2022年,翔泳社,共著) ○ Python実践レシピ(2022年,技術評論社,共著) ○ Python FlaskによるWebアプリ開発入門 物体検知アプリ&機械学習APIの作り方 (2022年,翔泳社, 監修)

Slide 3

Slide 3 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 所属組織 ● 一般社団法人Pythonエンジニア育成推進協会顧問理事 ● 一般社団法人PyCon JP Association理事 ● Python Asia Organization Founder and Board member ● 株式会社 CMSコミュニケーションズ 代表取締役 ● Python Software Foundation Fellow ● Plone Foundation Ambassador

Slide 4

Slide 4 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. Python技術支援のコンサルサービス (株)CMSコミュニケーションズのサービス

Slide 5

Slide 5 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 出題傾向と学習のポイント

Slide 6

Slide 6 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. スキルマップ表 (2024年度版) 試験グレード 難易度(職種: ITSSレベル) Pythonエンジニア AIエンジニア Pythonデータエンジニア データアナリスト 実践レベル エキスパート職種:ソフトウェアディベロップメント、 応用ソフトのレベル2(申請中) 実践試験 データ分析実践試験 基礎レベル エントリー職種:ソフトウェアディベロップメント、応 用ソフトのレベル1 基礎試験 データ分析試験 参考: ナレッジ レベル – Python Zen & PEP 8 検定 Python Zen & PEP 8検定

Slide 7

Slide 7 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 主教材 インプレス Pythonデータ分析 実践ハンドブック  実務で使えるデータ加工のテクニック 3,300円(本体 3,000円+税10%)

Slide 8

Slide 8 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 出題範囲 章 タイトル 問題数 問題割合 備考 1章 データ加工概論 2 5.0% 2章 データの種類と読み込み 7 17.5% 3章 表形式データの加工 6 15.0% 4章 数値データの扱い 4 10.0% 5章 データの評価 8 20.0% 6章 時系列データの処理 4 10.0% 7章 テキスト情報の処理 2 5.0% 8章 画像データの処理 2 5.0% 9章 グラフデータの処理 3 7.5% pyvisは除く、 9-2 実践的なグラフデータの解析を除く 10章 地理空間データの処理 2 5.0% 11章 データ加工のための線形代数 0 0.0%

Slide 9

Slide 9 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 出題範囲(基礎パート ) 章 タイトル 問題数 問題割合 備考 1章 データ加工概論 2 5.0% 2章 データの種類と読み込み 7 17.5% 3章 表形式データの加工 6 15.0% 4章 数値データの扱い 4 10.0% 5章 データの評価 8 20.0% 6章 時系列データの処理 4 10.0% 7章 テキスト情報の処理 2 5.0% 8章 画像データの処理 2 5.0% 9章 グラフデータの処理 3 7.5% pyvisは除く、 9-2 実践的なグラフデータの解析を除く 10章 地理空間データの処理 2 5.0% 11章 データ加工のための線形代数 0 0.0%

Slide 10

Slide 10 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 基礎パート ● 9問出題 (22.5%) ● 「データ加工概論」は、主教材を読んで答えられる内容 ● 「データの種類と読み込み」は、ざまざまなデータを扱う ● CSV ● Excel ● JSON ● HTML ● XML ● 文書データ ● 画像データ ● 音声データ ● RDBデータ ● pickle形式 ● parquet形式 これらはのデータを 読み込んでデータ分析 できるようにする これらはのデータは 永続化データやデータ の受け渡しで よく利用されている

Slide 11

Slide 11 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 基礎パートの学習のポイント ● 「データの種類と読み込み」を、手に馴染むようにする ● 普段扱っていないデータがあれば、不得意な部分を克服 ● 取りこぼししないように、網羅的に学習 ● CSV ● Excel ● JSON ● HTML ● XML ● 文書データ ● 画像データ ● 音声データ ● RDBデータ ● pickle形式 ● parquet形式

Slide 12

Slide 12 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 出題範囲(重要パート ) 章 タイトル 問題数 問題割合 備考 1章 データ加工概論 2 5.0% 2章 データの種類と読み込み 7 17.5% 3章 表形式データの加工 6 15.0% 4章 数値データの扱い 4 10.0% 5章 データの評価 8 20.0% 6章 時系列データの処理 4 10.0% 7章 テキスト情報の処理 2 5.0% 8章 画像データの処理 2 5.0% 9章 グラフデータの処理 3 7.5% pyvisは除く、 9-2 実践的なグラフデータの解析を除く 10章 地理空間データの処理 2 5.0% 11章 データ加工のための線形代数 0 0.0%

Slide 13

Slide 13 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 重要パート ● 18問出題 (45%) ● 重要パートの3つの章は、いずれも重要 ○ 「表形式データの加工」 ○ 「数値データの扱い」 ○ 「データの評価」

Slide 14

Slide 14 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 重要パート - 表形式データの加工 ● pandasの使いこなしが問われる ● データ分析試験では問われていない、より高度な使い方 ○ 連結・結合 ○ 変形 ○ カテゴリーデータ ○ グループ化 ○ 階層型インデックス ● 普段からpandasを使っていないと理解が難しい部分

Slide 15

Slide 15 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 重要パート - 数値データの扱い ● NumPyの構造や機能を問われる ● NumPyの機能を意識的に使っているかを問う ○ 配列の構造とブロードキャスト ○ 数値データの型 ● 数値を扱う時、大量のデータの処理などで使う技術を知る ● 使い方を覚えるというより、仕組みを知ることが重要

Slide 16

Slide 16 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 重要パート - データの評価 ● この試験のなかで最も出題数が多い章 ● 「定量的評価」と「定性的評価」を理解する ● 「可視化」を用いた分布の確認をできるように ● 「外れ値・異常値」「欠損値」「重複値」の処理を理解する ● 実践でデータ分析を行う上での重要な概念となっている ● 考え方はもちろんのこと、実際に評価ができるようになる ● 多くの実データに触れ、評価を適切にできるようになる

Slide 17

Slide 17 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 出題範囲(各種データパート ) 章 タイトル 問題数 問題割合 備考 1章 データ加工概論 2 5.0% 2章 データの種類と読み込み 7 17.5% 3章 表形式データの加工 6 15.0% 4章 数値データの扱い 4 10.0% 5章 データの評価 8 20.0% 6章 時系列データの処理 4 10.0% 7章 テキスト情報の処理 2 5.0% 8章 画像データの処理 2 5.0% 9章 グラフデータの処理 3 7.5% pyvisは除く、 9-2 実践的なグラフデータの解析を除く 10章 地理空間データの処理 2 5.0% 11章 データ加工のための線形代数 0 0.0%

Slide 18

Slide 18 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 各種データパート ● 13問出題 (32.5%) ● 実践している分野によっては普段扱わないデータ ● 幅広くデータを扱え、分析の幅を広げてほしい ● 時系列データ ● テキスト情報 ● 画像データ ● グラフデータ ● 地理空間データ これらはのデータは さまざまな場面で 登場してくる これらはのデータは 専門性がた高い

Slide 19

Slide 19 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 各種データパート - 詳細1 ● 「時系列データ」「テキスト情報」「画像データ」 ● 扱ったことが多いと考えている ● データの扱い、発見、加工といった基本的なことを知る ● 苦手意識をなくして、主教材の内容をじっくり学習

Slide 20

Slide 20 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 各種データパート - 詳細2 ● 「グラフデータ」「地理空間データ」 ● 取り扱う機会が少ないものと考えている ● これらのデータの扱いの基本的な概念を知っている必要性 ● 詳細の分析や高度な処理については問いていない ● 主教材の内容を理解し、概念的なことを知る

Slide 21

Slide 21 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 出題範囲 (再掲) 章 タイトル 問題数 問題割合 備考 1章 データ加工概論 2 5.0% 2章 データの種類と読み込み 7 17.5% 3章 表形式データの加工 6 15.0% 4章 数値データの扱い 4 10.0% 5章 データの評価 8 20.0% 6章 時系列データの処理 4 10.0% 7章 テキスト情報の処理 2 5.0% 8章 画像データの処理 2 5.0% 9章 グラフデータの処理 3 7.5% pyvisは除く、 9-2 実践的なグラフデータの解析を除く 10章 地理空間データの処理 2 5.0% 11章 データ加工のための線形代数 0 0.0% 基礎 重要 各種データ

Slide 22

Slide 22 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. テクニカルハイライト

Slide 23

Slide 23 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. pandasのDataFrameの連結・結合 - 1 ● 複数の方法があるが適切な方法を選ぶ ○ concat()関数 ○ join()メソッド ○ merge()関数 ● 連結 ○ 単純な接続 ● 結合 ○ 内部結合・外部結合などがある

Slide 24

Slide 24 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. pandasのDataFrameの連結・結合 - 2 ● 結合方法 ○ 内部結合: inner ○ 外部結合: outer ○ 左外部結合: left ○ 右外部結合: right ● join()メソッド or merge()関数 ○ インデックスで結合する: join()メソッド ○ 列をキーに結合する: merge()関数

Slide 25

Slide 25 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. NumPyの形状を変えるとは - 1 ● 120個の整数があるとします

Slide 26

Slide 26 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. NumPyの形状を変えるとは - 2 ● 次元: ndim ● 要素数: size ● データ型: dtype

Slide 27

Slide 27 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. NumPyの形状を変えるとは - 3 ● 2次元化 ● 要素数は変わらない

Slide 28

Slide 28 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. NumPyの形状を変えるとは - 4 ● 内部では以下のように straides 属性に次の行、次の値を取得 できる、バイト数が記録されている ● int64の場合

Slide 29

Slide 29 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. NumPyの形状を変えるとは - 5 ● 3次元の場合

Slide 30

Slide 30 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. NumPyのデータ型をなぜ意識するのか - 1

Slide 31

Slide 31 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. NumPyのデータ型をなぜ意識するのか - 2 ● NumPyは、データの量だけメモリを確保する ● int8 と int64 はメモリ量が8倍違う ● floatでも考え方は同様 ● intの場合 ○ 最大値を意識してデータ型を決める ● floatの場合 ○ 分解能を意識してデータ型を決める ● 複素数型は、存在をしている程度とし、必要になったら使い方を 学べばよい

Slide 32

Slide 32 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 可視化の重要性 - 1

Slide 33

Slide 33 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 可視化の重要性 - 2 ● 先程のデータは、平均が約5.0になる数値が20個

Slide 34

Slide 34 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 可視化の重要性 - 3 ● 散布図で示す

Slide 35

Slide 35 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 可視化の重要性 - 4 ● 箱ひげ図で示す

Slide 36

Slide 36 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 可視化の重要性 - 5 ● ヒストグラムで示す

Slide 37

Slide 37 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 例題の紹介

Slide 38

Slide 38 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. データ分析実践試験 - 例題1 ● CSV形式について誤っているものを記述の中から選択せよ ● 選択肢 ○ pandasを使うとCSVをDataFrameに変換できる ○ Pythonの標準ライブラリにCSVを読み込む機能がある ○ CSVファイルの文字エンコーディングShift_JISの場合、事前 にUTF-8に変換する必要がある ○ CSV形式はカンマ区切りのテキストファイルであるが、タブ区 切りのファイルを扱う方法がある

Slide 39

Slide 39 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. データ分析実践試験 - 例題1 (解答) ● CSV形式について誤っているものを記述の中から選択せよ ● 選択肢 ○ pandasを使うとCSVをDataFrameに変換できる ○ Pythonの標準ライブラリにCSVを読み込む機能がある ○ CSVファイルの文字エンコーディングShift_JISの場合、事前 にUTF-8に変換する必要がある ○ CSV形式はカンマ区切りのテキストファイルであるが、タブ区 切りのファイルを扱う方法がある

Slide 40

Slide 40 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. データ分析実践試験 - 例題2 ● 次のコードを実行した出力として、正しいものを次の記述の中か ら選択せよ。 df = pd.concat([ pd.DataFrame({"a": [10, 20], "b": [100, 200]}), pd.DataFrame({"a": [30, 40], "c": [30, 400]}), ], ignore_index=True, axis=1 )

Slide 41

Slide 41 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. データ分析実践試験 - 例題2 ● 選択肢1 a b c 0 10 100.0 NaN 1 20 200.0 NaN 2 30 NaN 30.0 3 40 NaN 400.0 ● 選択肢2 0 1 2 3 0 10 100 30 30 1 20 200 40 400 ● 選択肢3 a b c 0 10 100.0 NaN 1 20 200.0 NaN 0 30 NaN 30.0 1 40 NaN 400.0 ● 選択肢4 a_1 b a_2 c 0 10 100 30 30 1 20 200 40 400

Slide 42

Slide 42 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. データ分析実践試験 - 例題2 (解答) ● 次のコードを実行した出力として、正しいものを次の記述の中か ら選択せよ。 df = pd.concat([ pd.DataFrame({"a": [10, 20], "b": [100, 200]}), pd.DataFrame({"a": [30, 40], "c": [30, 400]}), ], ignore_index=True, axis=1 ) ● 選択肢2 0 1 2 3 0 10 100 30 30 1 20 200 40 400

Slide 43

Slide 43 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. データ分析実践試験 - 例題3 ● データを定量的に評価する方法として、最も適切なものを記述 の中から選択せよ ● 選択肢 ○ 箱ひげ図やヒストグラムに可視化する ○ 正規分布に従うかどうかを確認する ○ 折れ線グラフに可視化する ○ SeriesやDataFrameのdescribe()メソッドを使う

Slide 44

Slide 44 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. データ分析実践試験 - 例題3 ● データを定量的に評価する方法として、最も適切なものを記述 の中から選択せよ ● 選択肢 ○ 箱ひげ図やヒストグラムに可視化する ○ 正規分布に従うかどうかを確認する ○ 折れ線グラフに可視化する ○ SeriesやDataFrameのdescribe()メソッドを使う

Slide 45

Slide 45 text

copyright © 2025 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. Q&A