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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
kuma127
August 08, 2019
Programming
1.7k
1
Share
DjangoとJupyterで捗るPyData
8/8(木)の #stapy 発表資料です
kuma127
August 08, 2019
More Decks by kuma127
See All by kuma127
ReactPyを使ってreact likeにUIをPythonで実装する
kuma127
0
330
私と#pyhack
kuma127
0
320
配信チームの準備と当日進行について
kuma127
0
380
石川雅規のことをもっと知ってもらいたいLT
kuma127
0
1.5k
Beginning PyData with Django and Jupyter
kuma127
3
5.9k
趣味駆動学習のススメ〜野球の場合〜
kuma127
0
350
プロスペクトをデータで紹介
kuma127
2
2.8k
気軽に手に入る成績データで野球分析をしてみた
kuma127
0
2.1k
Python is simple and deep
kuma127
0
74
Other Decks in Programming
See All in Programming
ドメインイベントでビジネスロジックを解きほぐす #phpcon_odawara
kajitack
3
820
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
200
Back to the roots of date
jinroq
0
520
🦞OpenClaw works with AWS
licux
1
290
AIと共に生きる技術選定 2026
sgash708
0
110
実践CRDT
tamadeveloper
0
600
AIを導入する前にやるべきこと
negima
2
300
JOAI2026 1st solution - heron0519 -
heron0519
0
150
Running Swift without an OS
kishikawakatsumi
0
860
Don't Prompt Harder, Structure Better
kitasuke
0
790
NakouPAY説明用
annouim0
0
270
iOS機能開発のAI環境と起きた変化
ryunakayama
0
190
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
41
2.4k
A Soul's Torment
seathinner
6
2.7k
エンジニアに許された特別な時間の終わり
watany
106
240k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
160
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
Scaling GitHub
holman
464
140k
Documentation Writing (for coders)
carmenintech
77
5.3k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
330
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
110
WENDY [Excerpt]
tessaabrams
10
37k
Designing for Timeless Needs
cassininazir
0
210
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ͱσʔλͷೋྲྀͰ։ൃͩʂ
Ҏ্ɺ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ