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
DjangoとJupyterで捗るPyData
Search
kuma127
August 08, 2019
Programming
1
1.6k
DjangoとJupyterで捗るPyData
8/8(木)の #stapy 発表資料です
kuma127
August 08, 2019
Tweet
Share
More Decks by kuma127
See All by kuma127
私と#pyhack
kuma127
0
270
配信チームの準備と当日進行について
kuma127
0
350
石川雅規のことをもっと知ってもらいたいLT
kuma127
0
1.5k
Beginning PyData with Django and Jupyter
kuma127
3
5.6k
趣味駆動学習のススメ〜野球の場合〜
kuma127
0
340
プロスペクトをデータで紹介
kuma127
2
2.6k
気軽に手に入る成績データで野球分析をしてみた
kuma127
0
2k
Python is simple and deep
kuma127
0
50
Other Decks in Programming
See All in Programming
なんとなくわかった気になるブロックテーマ入門/contents.nagoya 2025 6.28
chiilog
1
270
「Cursor/Devin全社導入の理想と現実」のその後
saitoryc
0
820
AI時代のソフトウェア開発を考える(2025/07版) / Agentic Software Engineering Findy 2025-07 Edition
twada
PRO
86
28k
10 Costly Database Performance Mistakes (And How To Fix Them)
andyatkinson
0
330
おやつのお供はお決まりですか?@WWDC25 Recap -Japan-\(region).swift
shingangan
0
130
Railsアプリケーションと パフォーマンスチューニング ー 秒間5万リクエストの モバイルオーダーシステムを支える事例 ー Rubyセミナー 大阪
falcon8823
5
1.1k
ruby.wasmで多人数リアルタイム通信ゲームを作ろう
lnit
3
470
Quand Symfony, ApiPlatform, OpenAI et LangChain s'allient pour exploiter vos PDF : de la théorie à la production…
ahmedbhs123
0
190
ソフトウェア品質を数字で捉える技術。事業成長を支えるシステム品質の マネジメント
takuya542
1
13k
VS Code Update for GitHub Copilot
74th
2
640
Google Agent Development Kit でLINE Botを作ってみた
ymd65536
2
250
#kanrk08 / 公開版 PicoRubyとマイコンでの自作トレーニング計測装置を用いたワークアウトの理想と現実
bash0c7
1
770
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
How to Ace a Technical Interview
jacobian
278
23k
Designing for Performance
lara
610
69k
Rails Girls Zürich Keynote
gr2m
95
14k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Faster Mobile Websites
deanohume
307
31k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
How GitHub (no longer) Works
holman
314
140k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
820
Transcript
2019/8/8 DjangoͱJupyterͰḿΔPyData ۽୩ TwitterIDɿ@kumappp27
͓લɺ୭Α ✤ ʮ۽୩ʯʢϋϯυϧωʔϜɿ͘·ͽʣͱ͍͍·͢ ✤ TwitterID:@kumappp27 ✤ ਓࡐܥͷձࣾͰWebΤϯδχΞͬͯ·͢ ✤ Pythonझຯ։ൃͰΑ͘ར༻ɺେ͖ͳٿͷγες Ϝ࡞ͬͯ·͢
✤ #stapy ॳొஃͰ͢ʂυۓுͯ͠·͕͓ٓ͘͢͠ئ͍͠ ·͢ʂ
ࠓ࠷ॳʹݴ͓͖͍ͬͯͨ͜ͱ͕͋Γ·͢
Ұࡢʢ6ʣੜͰͨ͠Νʔʂ Happy birthday to me !
ਖ਼͋·Γ… ਏ͍Ͱ͢ɺ20࠷ޙʢͷੜʣ͔ͩΒ
ݸਓతͳωλ͓͖ͯ͞ɺຊͷ͓
DjangoͱJupyterͰḿΔPyData
͓ʹ͍ͭͯᶃ ✤ ͦͦPythonΛ࢝Ίͨͷɺσʔλੳ͕͖͔͚ͬ ✤ ͳͥσʔλੳ͔ͨͬͨ͠ͷ͔ͱ͍͏ͱɺ୯७ʹझຯ ͷٿͱབྷΊΒΕΔ͔ͩͬͨΒ ✤ ҰํͰۀͰWebܥͷ࡞ۀΛΑͬͯͯ͘ʢNot PythonʣσʔλੳΛֶΜͰ͍͘͏ͪʹɺʮ݁ߏWeb ͷࣝ׆͔ͤΔͳʯͱࢥ͍ɺ͜ͷࢥ͍Λڞ༗ͨ͘͠ຊ
ͷςʔϚΛܾΊ·ͨ͠
͓ʹ͍ͭͯᶄ ✤ ͦͷதͰͳͥDjangoͱJupyterʹߜ͔ͬͨͱ͍͏ͱɺ ݩʑJupyterΛϝΠϯͰ͍ͬͯͨͷͰ͕͢ 1. DjangoΛֶͼ࢝Ίͨஈ֊Jupyter֦ுػೳ͕͋Δͱ ͬͨ͜ͱ 2. ͦΕʹΑͬͯDjangoͷϞσϧΛJupyter্Ͱ͑Δɺ ͱ͍ͬͨʹՁΛݟग़ͨ͜͠ͱ
✤ ͜ΕΒ͕ओͳཁҼͰ͢
એ ✤ ຊτʔΫͷBeginner͚ͷʮDjangoͱJupyterͰ࢝ ΊΔPyDataʯ͕PyCon JP 2019ʹͯ15τʔΫͰ࠾ ͞Ε·ͨ͠ ✤ ͠Α͚Εௌ͖ʹ͖͍ͯͩ͘͞
ͬ͘͟Γ֓ཁ ✤ ຊτʔΫDjango×Jupyterͳڥͷྑ͞Λ͑Δ͜ͱ Λతͱ͍ͯ͠·͢ ✤ Jupyterͷ࠾༻తવσʔλੳͷͨΊͰ͕͢ɺ ͪΖΜػցֶशʹԠ༻Ͱ͖·͢ ✤ PyDataΛ͢Δʹ͋ͨͬͯɺσʔλϋϒͱͯ͠ Django×Jupyterڥ͕σϑΝΫτελϯμʔυʹͳΔ
Μ͡Όͳ͍͔ͳɺͱࢥͬͨΓࢥΘͳ͔ͬͨΓ
ΞδΣϯμ ✤ ͢͜ͱԼهΛ༧ఆ͍ͯ͠·͢ 1. Django×Jupyterͷಋೖ 2. ಋೖͷϝϦοτ 3. ׆༻ํ๏ʢҊʣ
Django×Jupyterͷಋೖ
ಋೖͱͬͯ؆୯ ✤ django-extensions ΛΠϯετʔϧ͢Δ͚ͩʂ ✤ pipͰΠϯετʔϧ͢Δ߹ $ pip install
django-extensions ✤ setting.pyͷINSTALLED_APPSʹҎԼΛՃ ‘django_extensions' ✤ ࢀߟɿhttps://github.com/django-extensions/django-extensions
JupyterͷىಈϥΫνϯ ✤ manage.pyͷ͋ΔϑΥϧμͰҎԼίϚϯυΛ࣮ߦ $ python manage.py shell_plus —notebook ✤ ىಈʹޭͨ͠Βɺදࣔ͞ΕͨURLΛϒϥβͰΞΫηε
✤ $ jupyter notebook Λ࣮ߦ͢Δͷͱ΄΅ಉ͡ʂ
DjangoͷϞσϧΛJupyterͰར༻͢Δ ✤ Jupyter্ͰϞσϧΛimport͢Δ͚ͩͰ௨ৗ௨ΓϞσ ϧ͕ར༻Ͱ͖·͢ʂ ✤ ෳࡶͳઃఆෆཁͰ͢ ※ͪ͜ΒҰྫͰ͢
ಋೖͷϝϦοτ
ಋೖͷϝϦοτʁ ✤ ࣮ࡍDjangoͷϞσϧΛJupyter্Ͱ͑Δʮ͚ͩʯ ͷػೳͰ͕͢ɺͦΕʹΑΔϝϦοτ͍͔ͭ͘ڍ͛Β Ε·͢ ✤ ओʹDjangoͷϞσϧΛར༻ͨ͠ڧྗͳORMͷԸܙΛ Jupyter্Ͱत͔Δܗ
1. ੳ݁ՌՃσʔλͷεϜʔζͳొ ✤ create()ΛJupyter্ͰݺΔͷͰɺpandasΛ༻͍ͯ ࡞ΒΕͨσʔλΛͦͷ··DBʹొͰ͖·͢ ✤ SQLΛॻ͔ͳͯ͘σʔλ͕ొՄೳʂ
2. WebΞϓϦσʔλΛαΫοͱੳʹར༻Ͱ͖Δ ✤ ࠒDjangoͷWebΞϓϦͰར༻͍ͯ͠ΔσʔλΛɺͦͷ··Jupyter ্Ͱར༻Ͱ͖·͢ ✤ pandasʹΑΔσʔλϑϨʔϜܗࣜͷදࣔͰ͋ͬͨΓɺmatplotlibΛ༻͍ ͨσʔλͷՄࢹԽͳͲ ✤ django-pandas
ͱ͍͏ϥΠϒϥϦΛ͑ɺϞσϧΛσʔλϑϨʔϜܗ ࣜʹมͰ͖·͢
3. εΫϦϓτΛརศతʹ࣮ߦͰ͖Δ ✤ Jupyterͱ͍͏͜ͱͰίʔυͷଈ࣮࣌ߦ͕ڧྗͳGUIʹΑͬ ͯͰ͖ΔͷͰɺWebΞϓϦ্ͷσʔλΛCSVʹՃ͢ Δɺͱ͍ͬͨ࡞ۀஞҰڍಈΛ֬ೝ͠ͳ͕Β࣮ߦͰ͖·͢ ✤ ※ηΩϡϦςΟʹྀ͕ඞཁͰ͢
·ͱΊΔͱ… ✤ WebΞϓϦ্ͷσʔλΛѻ͏ͨΊͷΠϯλʔϑΣʔε ʹɺJupyter͕ͳͬͯ͘Ε͍ͯΔ ✤ Web×σʔλΛDjangoͰ͢ΔͳΒJupyterʂ
׆༻ํ๏ʢҊʣ
طଘͷWebΞϓϦͰσʔλੳػցֶशΛ͍ͨ͠ ✤ ϥΠϒϥϦΛಋೖ͢Δ͚ͩͳͷͰίετͰಋೖͰ͖ ·͢ ✤ JupyterͷػೳΛ׆͔ͯ͠ɺσʔλੳ͚ͩͰͳ͘εϥ Πυ࡞ΓͳͲͰ͖·͢ʢnbextensions͑·͢ʣ
Jupyter্ͰՃͨ͠σʔλΛWebAPIԽ͍ͨ͠ ✤ WebAPIͷ࡞Django REST Frameworkͱ͍͏ϥΠ ϒϥϦΛ͑ʢൺֱతʣ༰қʹग़དྷ·͢ ✤ ϑϩϯτٕज़ͱ݁ͼ͚͍ͭͨ…ͳͲɺ༻్Λ͞Βʹ૿ ͢͜ͱ͕Ͱ͖·͢
࠷ޙʹ
Ͳ͏Ͱ͔ͨ͠ʁ ✤ WebΞϓϦσʔλʹؔ͢Δٕज़Λษڧ࢝͠Ίͨํʹ ݸਓతʹͥͻקΊ͍ͨͱࢥ͍ͬͯ·͢ ✤ ͢ͰʹͲ͔ͬͪͬͯΔΑʂͬͯਓརศੑͷ্ ݟͷձಘʹ׆͔ͤ·͢ʂ
͜ͷՆ… ✤ WebͱσʔλͷೋྲྀͰ։ൃͩʂ
Ҏ্ɺ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ