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
6
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
6
コンテンツタイプとUMLで考えるPlone開発(1)
terapyon
0
41
Python Web UIフレームワークのススメ
terapyon
0
940
LLMを用いたPloneベクター検索 アドオンの開発の説明
terapyon
0
81
PyCon APACの軌跡
terapyon
0
1.8k
Pythonエンジニアになるためのテクニカルハイライトと学習方法
terapyon
0
97
Multi lingual Vector search using LLM
terapyon
1
84
メモリプロファイラMemrayのススメ
terapyon
3
1.1k
PoC for LLM search on Plone
terapyon
1
100
Other Decks in Technology
See All in Technology
第3回Snowflake女子会_LT登壇資料(合成データ)_Taro_CCCMK
tarotaro0129
0
180
OpenAIの蒸留機能(Model Distillation)を使用して運用中のLLMのコストを削減する取り組み
pharma_x_tech
4
540
Microsoft Azure全冠になってみた ~アレを使い倒した者が試験を制す!?~/Obtained all Microsoft Azure certifications Those who use "that" to the full will win the exam! ?
yuj1osm
1
110
20241220_S3 tablesの使い方を検証してみた
handy
3
240
AWS re:Invent 2024で発表された コードを書く開発者向け機能について
maruto
0
180
ガバメントクラウドのセキュリティ対策事例について
fujisawaryohei
0
530
【re:Invent 2024 アプデ】 Prompt Routing の紹介
champ
0
140
WACATE2024冬セッション資料(ユーザビリティ)
scarletplover
0
190
CustomCopを使ってMongoidのコーディングルールを整えてみた
jinoketani
0
220
AWS re:Invent 2024 ふりかえり
kongmingstrap
0
130
20241214_WACATE2024冬_テスト設計技法をチョット俯瞰してみよう
kzsuzuki
3
440
podman_update_2024-12
orimanabu
1
260
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
33
3k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
29
2k
Side Projects
sachag
452
42k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
95
17k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Practical Orchestrator
shlominoach
186
10k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
65k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
170
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