$30 off During Our Annual Pro Sale. View Details »
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.7k
DjangoとJupyterで捗るPyData
8/8(木)の #stapy 発表資料です
kuma127
August 08, 2019
Tweet
Share
More Decks by kuma127
See All by kuma127
ReactPyを使ってreact likeにUIをPythonで実装する
kuma127
0
180
私と#pyhack
kuma127
0
290
配信チームの準備と当日進行について
kuma127
0
370
石川雅規のことをもっと知ってもらいたいLT
kuma127
0
1.5k
Beginning PyData with Django and Jupyter
kuma127
3
5.8k
趣味駆動学習のススメ〜野球の場合〜
kuma127
0
350
プロスペクトをデータで紹介
kuma127
2
2.7k
気軽に手に入る成績データで野球分析をしてみた
kuma127
0
2.1k
Python is simple and deep
kuma127
0
55
Other Decks in Programming
See All in Programming
ハイパーメディア駆動アプリケーションとIslandアーキテクチャ: htmxによるWebアプリケーション開発と動的UIの局所的適用
nowaki28
0
400
AIエージェントを活かすPM術 AI駆動開発の現場から
gyuta
0
380
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
210
Giselleで作るAI QAアシスタント 〜 Pull Requestレビューに継続的QAを
codenote
0
130
手軽に積ん読を増やすには?/読みたい本と付き合うには?
o0h
PRO
1
170
Socio-Technical Evolution: Growing an Architecture and Its Organization for Fast Flow
cer
PRO
0
320
宅宅自以為的浪漫:跟 AI 一起為自己辦的研討會寫一個售票系統
eddie
0
500
DevFest Android in Korea 2025 - 개발자 커뮤니티를 통해 얻는 가치
wisemuji
0
120
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
120
251126 TestState APIってなんだっけ?Step Functionsテストどう変わる?
east_takumi
0
310
全員アーキテクトで挑む、 巨大で高密度なドメインの紐解き方
agatan
8
20k
dnx で実行できるコマンド、作ってみました
tomohisa
0
140
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
A Tale of Four Properties
chriscoyier
162
23k
Documentation Writing (for coders)
carmenintech
76
5.2k
The Invisible Side of Design
smashingmag
302
51k
Designing Experiences People Love
moore
143
24k
Unsuck your backbone
ammeep
671
58k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
1
96
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Visualization
eitanlees
150
16k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
RailsConf 2023
tenderlove
30
1.3k
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ͱσʔλͷೋྲྀͰ։ൃͩʂ
Ҏ্ɺ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ