Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Python実践試験、 Pythonデータ分析実践試験に 合格できるひとのレベル紹介と学習法
Search
Manabu TERADA
December 18, 2024
Technology
0
110
Python実践試験、 Pythonデータ分析実践試験に 合格できるひとのレベル紹介と学習法
「Python実践試験、Pythonデータ分析実践試験対策とデータ分析の技術解説セミナー」
2024年12月13 日
一般社団法人Pythonエンジニア育成推進協会
顧問理事 寺田 学
Manabu TERADA
December 18, 2024
Tweet
Share
More Decks by Manabu TERADA
See All by Manabu TERADA
各種大学向けにSSO対応サイト(SP)構築の事例紹介
terapyon
0
15
コンテンツタイプとUMLで考えるPlone開発(1)
terapyon
0
57
Python Web UIフレームワークのススメ
terapyon
0
1k
LLMを用いたPloneベクター検索 アドオンの開発の説明
terapyon
0
91
PyCon APACの軌跡
terapyon
0
2k
Pythonエンジニアになるためのテクニカルハイライトと学習方法
terapyon
0
110
Multi lingual Vector search using LLM
terapyon
1
92
メモリプロファイラMemrayのススメ
terapyon
3
1.2k
PoC for LLM search on Plone
terapyon
1
110
Other Decks in Technology
See All in Technology
AIエージェント入門
minorun365
PRO
10
6.4k
日経のデータベース事業とElasticsearch
hinatades
PRO
0
200
エンジニアが加速させるプロダクトディスカバリー 〜最速で価値ある機能を見つける方法〜 / product discovery accelerated by engineers
rince
4
530
ディスプレイ広告(Yahoo!広告・LINE広告)におけるバックエンド開発
lycorptech_jp
PRO
0
210
コンピュータビジョンの社会実装について考えていたらゲームを作っていた話
takmin
1
570
EMConf JP 2025 懇親会LT / EMConf JP 2025 social gathering
sugamasao
2
170
Reading Code Is Harder Than Writing It
trishagee
2
120
PHPで印刷所に入稿できる名札データを作る / Generating Print-Ready Name Tag Data with PHP
tomzoh
0
180
Active Directory攻防
cryptopeg
PRO
8
5k
Apache Iceberg Case Study in LY Corporation
lycorptech_jp
PRO
0
260
RayでPHPのデバッグをちょっと快適にする
muno92
PRO
0
120
ExaDB-XSで利用されているExadata Exascaleについて
oracle4engineer
PRO
3
160
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
10
500
How to Ace a Technical Interview
jacobian
276
23k
Thoughts on Productivity
jonyablonski
69
4.5k
Docker and Python
trallard
44
3.3k
A Philosophy of Restraint
colly
203
16k
GraphQLとの向き合い方2022年版
quramy
44
13k
Scaling GitHub
holman
459
140k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Documentation Writing (for coders)
carmenintech
67
4.6k
Optimizing for Happiness
mojombo
376
70k
Building an army of robots
kneath
303
45k
Transcript
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. Python実践試験、 Pythonデータ分析実践試験に 合格できるひとのレベル紹介と学習法
一般社団法人Pythonエンジニア育成推進協会 顧問理事 寺田 学 「Python実践試験、 Pythonデータ分析実践試験対策とデータ分析の技術解説セミナー」 2024年12月13 日
copyright © 2024 一般社団法人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年,翔泳社, 監修)
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 所属組織 • 一般社団法人Pythonエンジニア育成推進協会顧問理事
• 一般社団法人PyCon JP Association理事 • Python Asia Organization Founder and Board member • 株式会社 CMSコミュニケーションズ 代表取締役 • Python Software Foundation Fellow • Plone Foundation Ambassador
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. Python技術支援のコンサルサービス (株)CMSコミュニケーションズのサービス
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 講演の流れ • Pythonバージョンの現状
• バージョンアップで取り組んでいること • Python実践試験に向けて • Pythonデータ分析実践試験に向けて • Pythonの具体的な利用シーン • 初学者からアプリ実装ができるようになるには
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. Pythonバージョンの現状
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. Pythonバージョン (2024年12月) Python3.13
• Python 3.11以降を採用することが多い • 最新のPython3.13を使う場面もある
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. Pythonのバージョンとサポート期間 年1回リリース& 5年サポート
https://devguide.python.org/versions/
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. バージョン間の互換性 基本的な互換性はある •
互換性は基本的に保たれている • キーワード(予約語)追加もほぼ無い • 内部APIの変更はある • サードパーティ製パッケージの対応は別
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 環境構築とサードパーティ製パッケージ 方法はさまざまだが、公式をなるべく使う •
公式インストーラーがオススメ • venv + pip でほとんど可能 • 公式dockerを使うことも増えている • wheel化されたパッケージも多い
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 環境構築とサードパーティ製パッケージ 2024年は変化があった •
Rust製ツールの台頭 • パッケージマネージャーの乱立から集約? • uv + ruff というAstral社のツールが盛り上がる • uvで環境構築をすることが増えた
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. バージョンアップで取り組んでいること
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. バージョンアップで取り組んでいる (1) Python
3.13の主な変更点 • 対話モードの大幅に改善 • よりコーディングしやすく(型ヒント関係) • 速度アップへの試み・準備 ◦ GIL除去 ◦ JIT対応
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. バージョンアップで取り組んでいる (2) •
スピードアップ • Python 3.11から取り組んでいる • 今後も内部実装を見直し、スピードアップに期待
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. バージョンアップで取り組んでいる (3) •
よりコーディングしやすく • エラーメッセージが分かりやすくなっている • 型ヒントなどで安全なコーディングができるようになる
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. Python実践試験に向けて
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. スキルマップ表 (2024年度版) 試験グレード
難易度(職種: ITSSレベル) Pythonエンジニア AIエンジニア Pythonデータエンジニア データアナリスト 実践レベル エキスパート職種:ソフトウェアディベロップメント、 応用ソフトのレベル2(申請中) 実践試験 データ分析実践試験 基礎レベル エントリー職種:ソフトウェアディベロップメント、応 用ソフトのレベル1 基礎試験 データ分析試験 参考: ナレッジ レベル – Python Zen & PEP 8 検定 Python Zen & PEP 8検定
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 実践試験 • Pythonで実践的にプログラミングができる
• 例題 ◦ for文の処理をリスト内包表記にし正しいものを選択 ◦ datetime, zoneinfo を使ったコードでエラーを選択 ◦ class構文の継承コードで実行されるメソッドを選択
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 実践試験の合格者のレベル Pythonのことなおまかせと言える •
Pythonの言語仕様を概ね知っている ◦ 例外から内包表記やデコレーターなど ◦ classの仕様 • Pythonの標準ライブラリの幅広い知識 ◦ どんなものが存在するか? ◦ 基本的な使い方を知っている
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 実践試験の意図と意義 Python実践試験に合格した人の声として •
人事からのオススメ試験となっていたので勉強、数回で合格した人の声 • 他人のコードレビューに自身を持って答えることができるように なった • 初学者を教える時に、厳密なことを教えられるようになった • Pythonを深く知ることができ、自信になっている
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. Pythonデータ分析実践試験に向けて
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. スキルマップ表 (2024年度版) 試験グレード
難易度(職種: ITSSレベル) Pythonエンジニア AIエンジニア Pythonデータエンジニア データアナリスト 実践レベル エキスパート職種:ソフトウェアディベロップメント、 応用ソフトのレベル2(申請中) 実践試験 データ分析実践試験 基礎レベル エントリー職種:ソフトウェアディベロップメント、応 用ソフトのレベル1 基礎試験 データ分析試験 参考: ナレッジ レベル – Python Zen & PEP 8 検定 Python Zen & PEP 8検定
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. データ分析実践試験 • Pythonでデータ分析を実践できるデータの扱いを問う
• 例題 ◦ pandas DataFrameの連結方法で正しい方法を選択 ◦ データの定量的評価の間違っている方法を選択 ◦ 時系列データを扱うための日付変換で正しいものを選択
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. デー分析実践試験の意図と意義 (1) •
データ分析を実践していることが重要 • 特にpandasの使い方、NumPyの基本的な機能は把握している と考えられる • データ分析者として重要なデータの評価についても一定の理解 が必要 • ここは、現場で実践するうえで、重要な知識だと考えている
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. デー分析実践試験の意図と意義 (2) •
後半パートで、さまざまなデータ形式の取り扱いを扱っている • 基本となる、「時系列」「テキスト」「画像」を扱えることは必須 • それ以外に、「グラフデータ」「地理空間データ」もデータ分析者と して扱えるかどうか • エンジニアとしての幅が違うと考えて、基本的な部分だけでも理 解をして欲しい
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. Pythonの具体的な利用シーン
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 具体的な利用シーン ─ 1
ログの分析を Pythonで行う • ログファイルをPythonのopen関数で読み込む • 1行の中身を分割して、リストのリストを作る • pandasで読み込み • 必要な情報だけを抽出 • 可視化やExcelファイルに書き出し • 機械学習などを用いて、異常検知
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 具体的な利用シーン ─ 1
ログの分析で使うライブラリ • 日付操作 標準ライブラリ datetime • データ分析 pandas • データ出力 openpyxl • 可視化 Matplotlib • 機械学習 scikit-learn
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 具体的な利用シーン ─ 2
データ分析の PoCを試してみたい • JupyterLabで実験的に試行錯誤 • データ加工 • データの評価 • 各種Webサイトから情報取得 • 結果をWebページにする
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 具体的な利用シーン ─ 2
データ分析の PoCで使うライブラリ • JupyterLab • データ加工 pandas / NumPy • データの評価 NumPy / Matplotlib / Plotry • 各種Webサイトから情報取得 BeautifulSoup4 • Webページを作るなら Streamlit
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 具体的な利用シーン ─ 3
Streamlitを使ってChatGTP APIを利用 • StreamlitはPython Web UIフレームワーク • OpenAIのAPIを利用 • Web UIで、APIが利用できる
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 具体的な利用シーン ─ 3
(コードリポジトリ ) コードリポジトリ https://github.com/terapyon/st-demo-ai-form
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 具体的な利用シーン ─ 3
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 具体的な利用シーン ─ 3
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 初学者からアプリ実装ができるようになる には
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 機能分割 まずは、機能を分割していこう •
アプリが実現したいことを機能分割 • 例えば ◦ データを読み込む ◦ データを加工する ◦ 画面に表示する • なるべく細かく分割する
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 機能ごとに実装 分割された機能の役割を実装する •
機能ごとに「入力」と「出力」を決める • 入力に対して、処理をコーディングする • 出力をする or データ保存などを行う • 入力をパラメータで渡さなくても良い • まずは、一つずつ機能を作る
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 機能を繋げる 機能を繋げて、アプリとしての動きを実現 •
機能を繋げて、一連の動きにする • 何かしらのキッカケで動作するようにする • キッカケの例 ◦ クリックする ◦ スクリプトの手動起動 ◦ Webリクエスト
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 動作環境の整備 どこで、どのように動作させるかを決め、環境整備 •
動作環境を決める • 例 ◦ 独自サーバー ◦ 手元のPC ◦ サーバーレス環境 ◦ Webブラウザ • Pythonが動作する環境を作る
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. アプリ実装のまとめ 一つずつ確実に !
• 機能分割 • 機能ごとに実装 • 機能を繋げる • 動作環境の整備
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. ご清聴 ありがとうございました。
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. 師匠 or 仲間を見つけよう
ひとりで勉強するには限界がある • 師匠を見つけよう • 仲間を見つけよう • 一緒に勉強し切磋琢磨できるとよい • 自分のやっていることに自信が持てる • カンファレンスや勉強会に積極的に参加
copyright © 2024 一般社団法人Pythonエンジニア育成推進協会 all rights reserved. Q&A