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
3.5k
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
PythonエンジニアになるためのテクニカルハイライトとPython実践試験学習方法
terapyon
0
46
Pythonデータ分析実践試験 出題傾向や学習のポイントとテクニカルハイライト
terapyon
1
660
近年の PyCon 情勢から見た PyCon APAC のまとめ
terapyon
0
440
Desktop Apps Made Easy: Python Web UI Frameworks with Streamlit and Stlite
terapyon
1
98
各種大学向けにSSO対応サイト(SP)構築の事例紹介
terapyon
0
79
コンテンツタイプとUMLで考えるPlone開発(1)
terapyon
0
150
Python Web UIフレームワークのススメ
terapyon
0
1.6k
LLMを用いたPloneベクター検索 アドオンの開発の説明
terapyon
0
120
PyCon APACの軌跡
terapyon
0
2.6k
Other Decks in Technology
See All in Technology
技術広報のOKRで生み出す 開発組織への価値 〜 カンファレンス協賛を通して育む学びの文化 〜 / Creating Value for Development Organisations Through Technical Communications OKRs — Nurturing a Culture of Learning Through Conference Sponsorship —
pauli
5
490
Kubernetesと共にふりかえる! エンタープライズシステムのインフラ設計・テストの進め方大全
daitak
0
410
Redux → Recoil → Zustand → useSyncExternalStore: 状態管理の10年とReact本来の姿
zozotech
PRO
21
8.9k
アジャイル社内普及ご近所さんマップを作ろう / Let's create an agile neighborhood map
psj59129
1
140
未回答質問の回答一覧 / 開発をリードする品質保証 QAエンジニアと開発者の未来を考える-Findy Online Conference -
findy_eventslides
0
340
Axon Frameworkのイベントストアを独自拡張した話
zozotech
PRO
0
220
ABEJA FIRST GUIDE for Software Engineers
abeja
0
3.2k
プロダクト負債と歩む持続可能なサービスを育てるための挑戦
sansantech
PRO
1
600
セマンティックHTMLによる アクセシビリティ品質向上の基礎
zozotech
PRO
0
120
AS59105におけるFreeBSD EtherIPの運用と課題
x86taka
0
200
ソフトウェア開発現代史: 55%が変化に備えていない現実 ─ AI支援型開発時代のReboot Japan #agilejapan
takabow
7
4.5k
LINEスキマニ/LINEバイトにおけるバックエンド開発
lycorptech_jp
PRO
0
330
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
Balancing Empowerment & Direction
lara
5
760
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
Building a Scalable Design System with Sketch
lauravandoore
463
33k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Unsuck your backbone
ammeep
671
58k
Writing Fast Ruby
sferik
630
62k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
A designer walks into a library…
pauljervisheath
210
24k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
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