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
210
配信チームの準備と当日進行について
kuma127
0
320
石川雅規のことをもっと知ってもらいたいLT
kuma127
0
1.4k
Beginning PyData with Django and Jupyter
kuma127
3
5.4k
趣味駆動学習のススメ〜野球の場合〜
kuma127
0
290
プロスペクトをデータで紹介
kuma127
2
2.5k
気軽に手に入る成績データで野球分析をしてみた
kuma127
0
2k
Python is simple and deep
kuma127
0
42
Other Decks in Programming
See All in Programming
CSC509 Lecture 11
javiergs
PRO
0
180
『ドメイン駆動設計をはじめよう』のモデリングアプローチ
masuda220
PRO
8
540
ECS Service Connectのこれまでのアップデートと今後のRoadmapを見てみる
tkikuc
2
250
watsonx.ai Dojo #4 生成AIを使ったアプリ開発、応用編
oniak3ibm
PRO
1
140
Kaigi on Rails 2024 〜運営の裏側〜
krpk1900
1
230
LLM生成文章の精度評価自動化とプロンプトチューニングの効率化について
layerx
PRO
2
190
Ethereum_.pdf
nekomatu
0
460
Jakarta EE meets AI
ivargrimstad
0
190
2024/11/8 関西Kaggler会 2024 #3 / Kaggle Kernel で Gemma 2 × vLLM を動かす。
kohecchi
5
920
광고 소재 심사 과정에 AI를 도입하여 광고 서비스 생산성 향상시키기
kakao
PRO
0
170
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
1
100
TypeScript Graph でコードレビューの心理的障壁を乗り越える
ysk8hori
2
1.1k
Featured
See All Featured
Happy Clients
brianwarren
98
6.7k
Adopting Sorbet at Scale
ufuk
73
9.1k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
Optimizing for Happiness
mojombo
376
70k
Six Lessons from altMBA
skipperchong
27
3.5k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
KATA
mclloyd
29
14k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
44
2.2k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
93
16k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
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ͱσʔλͷೋྲྀͰ։ൃͩʂ
Ҏ্ɺ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ