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.5k
DjangoとJupyterで捗るPyData
8/8(木)の #stapy 発表資料です
kuma127
August 08, 2019
Tweet
Share
More Decks by kuma127
See All by kuma127
私と#pyhack
kuma127
0
240
配信チームの準備と当日進行について
kuma127
0
340
石川雅規のことをもっと知ってもらいたいLT
kuma127
0
1.4k
Beginning PyData with Django and Jupyter
kuma127
3
5.5k
趣味駆動学習のススメ〜野球の場合〜
kuma127
0
310
プロスペクトをデータで紹介
kuma127
2
2.6k
気軽に手に入る成績データで野球分析をしてみた
kuma127
0
2k
Python is simple and deep
kuma127
0
43
Other Decks in Programming
See All in Programming
定理証明プラットフォーム lapisla.net
abap34
1
1.7k
プログラミング言語学習のススメ / why-do-i-learn-programming-language
yashi8484
0
120
ARA Ansible for the teams
kksat
0
150
『品質』という言葉が嫌いな理由
korimu
0
160
2024年のWebフロントエンドのふりかえりと2025年
sakito
1
230
Amazon Q Developer Proで効率化するAPI開発入門
seike460
PRO
0
110
チームリードになって変わったこと
isaka1022
0
190
AIの力でお手軽Chrome拡張機能作り
taiseiue
0
170
データの整合性を保つ非同期処理アーキテクチャパターン / Async Architecture Patterns
mokuo
41
15k
DROBEの生成AI活用事例 with AWS
ippey
0
130
CNCF Project の作者が考えている OSS の運営
utam0k
5
690
Ruby on cygwin 2025-02
fd0
0
140
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
Building Your Own Lightsaber
phodgson
104
6.2k
The Cost Of JavaScript in 2023
addyosmani
47
7.3k
Testing 201, or: Great Expectations
jmmastey
41
7.2k
A better future with KSS
kneath
238
17k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Raft: Consensus for Rubyists
vanstee
137
6.8k
Agile that works and the tools we love
rasmusluckow
328
21k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
240
KATA
mclloyd
29
14k
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ͱσʔλͷೋྲྀͰ։ൃͩʂ
Ҏ্ɺ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ