Slide 1

Slide 1 text

2019/8/8 DjangoͱJupyterͰḿΔPyData ۽୩ ୓໵ TwitterIDɿ@kumappp27

Slide 2

Slide 2 text

͓લɺ୭Α ✤ ʮ۽୩ʯʢϋϯυϧωʔϜɿ͘·ͽʣͱ͍͍·͢ ✤ TwitterID:@kumappp27 ✤ ਓࡐܥͷձࣾͰWebΤϯδχΞ΍ͬͯ·͢ ✤ Python͸झຯ։ൃͰΑ͘ར༻ɺେ޷͖ͳ໺ٿͷγες Ϝ࡞ͬͯ·͢ ✤ #stapy ॳొஃͰ͢ʂυۓுͯ͠·͕͓ٓ͘͢͠ئ͍͠ ·͢ʂ

Slide 3

Slide 3 text

ࠓ೔࠷ॳʹݴ͓͖͍ͬͯͨ͜ͱ͕͋Γ·͢

Slide 4

Slide 4 text

Ұࡢ೔ʢ6೔ʣ஀ੜ೔Ͱͨ͠Νʔʂ Happy birthday to me !

Slide 5

Slide 5 text

ਖ਼௚͋·Γ… ਏ͍Ͱ͢ɺ20୅࠷ޙʢͷ஀ੜ೔ʣ͔ͩΒ

Slide 6

Slide 6 text

ݸਓతͳωλ͸͓͖ͯ͞ɺຊ೔ͷ͓୊

Slide 7

Slide 7 text

DjangoͱJupyterͰḿΔPyData

Slide 8

Slide 8 text

͓୊ʹ͍ͭͯᶃ ✤ ͦ΋ͦ΋PythonΛ࢝Ίͨͷ͸ɺσʔλ෼ੳ͕͖͔͚ͬ ✤ ͳͥσʔλ෼ੳ͔ͨͬͨ͠ͷ͔ͱ͍͏ͱɺ୯७ʹझຯ ͷ໺ٿͱབྷΊΒΕΔ෼໺͔ͩͬͨΒ ✤ ҰํͰۀ຿Ͱ͸Webܥͷ࡞ۀΛΑ͘΍ͬͯͯʢNot Pythonʣσʔλ෼ੳΛֶΜͰ͍͘͏ͪʹɺʮ݁ߏWeb ͷ஌ࣝ׆͔ͤΔͳʯͱࢥ͍ɺ͜ͷࢥ͍Λڞ༗ͨ͘͠ຊ ೔ͷςʔϚΛܾΊ·ͨ͠

Slide 9

Slide 9 text

͓୊ʹ͍ͭͯᶄ ✤ ͦͷதͰͳͥDjangoͱJupyterʹߜ͔ͬͨͱ͍͏ͱɺ ݩʑJupyterΛϝΠϯͰ࢖͍ͬͯͨͷͰ͕͢ 1. DjangoΛֶͼ࢝Ίͨஈ֊Jupyter֦ுػೳ͕͋Δͱ ஌ͬͨ͜ͱ 2. ͦΕʹΑͬͯDjangoͷϞσϧΛJupyter্Ͱ࢖͑Δɺ ͱ͍ͬͨ఺ʹՁ஋Λݟग़ͨ͜͠ͱ ✤ ͜ΕΒ͕ओͳཁҼͰ͢

Slide 10

Slide 10 text

એ఻ ✤ ຊτʔΫͷBeginner޲͚ͷ࿩ʮDjangoͱJupyterͰ࢝ ΊΔPyDataʯ͕PyCon JP 2019ʹͯ15෼τʔΫͰ࠾୒ ͞Ε·ͨ͠ ✤ ΋͠Α͚Ε͹ௌ͖ʹ͖͍ͯͩ͘͞

Slide 11

Slide 11 text

ͬ͘͟Γ֓ཁ ✤ ຊτʔΫ͸Django×Jupyterͳ؀ڥͷྑ͞Λ఻͑Δ͜ͱ Λ໨తͱ͍ͯ͠·͢ ✤ Jupyterͷ࠾༻໨త͸౰વσʔλ෼ੳͷͨΊͰ͕͢ɺ ΋ͪΖΜػցֶशʹ΋Ԡ༻Ͱ͖·͢ ✤ PyDataΛ͢Δʹ͋ͨͬͯɺσʔλϋϒͱͯ͠ Django×Jupyter؀ڥ͕σϑΝΫτελϯμʔυʹͳΔ Μ͡Όͳ͍͔ͳɺͱࢥͬͨΓࢥΘͳ͔ͬͨΓ

Slide 12

Slide 12 text

ΞδΣϯμ ✤ ࿩͢͜ͱ͸ԼهΛ༧ఆ͍ͯ͠·͢ 1. Django×Jupyterͷಋೖ 2. ಋೖͷϝϦοτ 3. ׆༻ํ๏ʢҊʣ

Slide 13

Slide 13 text

Django×Jupyterͷಋೖ

Slide 14

Slide 14 text

ಋೖ͸ͱͬͯ΋؆୯ ✤ django-extensions ΛΠϯετʔϧ͢Δ͚ͩʂ ✤ pipͰΠϯετʔϧ͢Δ৔߹͸ 
 $ pip install django-extensions ✤ setting.pyͷINSTALLED_APPSʹҎԼΛ௥Ճ
 ‘django_extensions' ✤ ࢀߟɿhttps://github.com/django-extensions/django-extensions

Slide 15

Slide 15 text

Jupyterͷىಈ΋ϥΫνϯ ✤ manage.pyͷ͋ΔϑΥϧμͰҎԼίϚϯυΛ࣮ߦ
 $ python manage.py shell_plus —notebook ✤ ىಈʹ੒ޭͨ͠Βɺදࣔ͞ΕͨURLΛϒϥ΢βͰΞΫηε ✤ $ jupyter notebook Λ࣮ߦ͢Δͷͱ΄΅ಉ͡ʂ

Slide 16

Slide 16 text

DjangoͷϞσϧΛJupyterͰར༻͢Δ ✤ Jupyter্ͰϞσϧΛimport͢Δ͚ͩͰ௨ৗ௨ΓϞσ ϧ͕ར༻Ͱ͖·͢ʂ ✤ ෳࡶͳઃఆ౳͸ෆཁͰ͢ ※ͪ͜Β͸ҰྫͰ͢

Slide 17

Slide 17 text

ಋೖͷϝϦοτ

Slide 18

Slide 18 text

ಋೖͷϝϦοτ͸ʁ ✤ ࣮ࡍ͸DjangoͷϞσϧΛJupyter্Ͱ࢖͑Δʮ͚ͩʯ ͷػೳͰ͕͢ɺͦΕʹΑΔϝϦοτ͸͍͔ͭ͘ڍ͛Β Ε·͢ ✤ ओʹDjangoͷϞσϧΛར༻ͨ͠ڧྗͳORMͷԸܙΛ Jupyter্Ͱत͔Δܗ

Slide 19

Slide 19 text

1. ෼ੳ݁Ռ΍Ճ޻σʔλͷεϜʔζͳొ࿥ ✤ create()ΛJupyter্Ͱݺ΂ΔͷͰɺpandas౳Λ༻͍ͯ ࡞ΒΕͨσʔλΛͦͷ··DBʹొ࿥Ͱ͖·͢ ✤ SQLΛॻ͔ͳͯ͘΋σʔλ͕ొ࿥Մೳʂ

Slide 20

Slide 20 text

2. WebΞϓϦσʔλΛαΫοͱ෼ੳʹར༻Ͱ͖Δ ✤ ೔ࠒDjango੡ͷWebΞϓϦͰར༻͍ͯ͠ΔσʔλΛɺͦͷ··Jupyter ্Ͱར༻Ͱ͖·͢ ✤ pandasʹΑΔσʔλϑϨʔϜܗࣜͷදࣔͰ͋ͬͨΓɺmatplotlibΛ༻͍ ͨσʔλͷՄࢹԽͳͲ ✤ django-pandas ͱ͍͏ϥΠϒϥϦΛ࢖͑͹ɺϞσϧΛσʔλϑϨʔϜܗ ࣜʹม׵Ͱ͖·͢

Slide 21

Slide 21 text

3. εΫϦϓτΛརศతʹ࣮ߦͰ͖Δ ✤ Jupyterͱ͍͏͜ͱͰίʔυͷଈ࣮࣌ߦ͕ڧྗͳGUIʹΑͬ ͯͰ͖ΔͷͰɺWebΞϓϦ্ͷσʔλΛCSV౳ʹՃ޻͢ Δɺͱ͍ͬͨ࡞ۀ΋ஞҰڍಈΛ֬ೝ͠ͳ͕Β࣮ߦͰ͖·͢ ✤ ※ηΩϡϦςΟ౳ʹ͸഑ྀ͕ඞཁͰ͢

Slide 22

Slide 22 text

·ͱΊΔͱ… ✤ WebΞϓϦ্ͷσʔλΛѻ͏ͨΊͷΠϯλʔϑΣʔε ʹɺJupyter͕ͳͬͯ͘Ε͍ͯΔ ✤ Web×σʔλΛDjangoͰ͢ΔͳΒJupyterʂ

Slide 23

Slide 23 text

׆༻ํ๏ʢҊʣ

Slide 24

Slide 24 text

طଘͷWebΞϓϦͰσʔλ෼ੳ΍ػցֶशΛ͍ͨ͠ ✤ ϥΠϒϥϦΛಋೖ͢Δ͚ͩͳͷͰ௿ίετͰಋೖͰ͖ ·͢ ✤ JupyterͷػೳΛ׆͔ͯ͠ɺσʔλ෼ੳ͚ͩͰͳ͘εϥ Πυ࡞ΓͳͲ΋Ͱ͖·͢ʢnbextensions΋࢖͑·͢ʣ

Slide 25

Slide 25 text

Jupyter্ͰՃ޻ͨ͠σʔλΛWebAPIԽ͍ͨ͠ ✤ WebAPIͷ࡞੒͸Django REST Frameworkͱ͍͏ϥΠ ϒϥϦΛ࢖͑͹ʢൺֱతʣ༰қʹग़དྷ·͢ ✤ ϑϩϯτٕज़ͱ݁ͼ͚͍ͭͨ…ͳͲɺ༻్Λ͞Βʹ૿ ΍͢͜ͱ͕Ͱ͖·͢

Slide 26

Slide 26 text

࠷ޙʹ

Slide 27

Slide 27 text

Ͳ͏Ͱ͔ͨ͠ʁ ✤ WebΞϓϦ΍σʔλʹؔ͢Δٕज़Λษڧ࢝͠Ίͨํʹ ݸਓతʹ͸ͥͻקΊ͍ͨͱࢥ͍ͬͯ·͢ ✤ ͢ͰʹͲ͔ͬͪ͸΍ͬͯΔΑʂͬͯਓ΋རศੑͷ޲্ ΍஌ݟͷձಘʹ׆͔ͤ·͢ʂ

Slide 28

Slide 28 text

͜ͷՆ͸… ✤ Webͱσʔλͷೋ౛ྲྀͰ։ൃͩʂ

Slide 29

Slide 29 text

Ҏ্ɺ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ