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
相談LT #PyNyumon / 20170710
Search
yuzutas0
PRO
July 11, 2017
Technology
1
1.5k
相談LT #PyNyumon / 20170710
"Python入門者の集い" のLT資料となります。
http://yuzutas0.hatenablog.com/entry/2017/07/11/110000
に補足を掲載しています。
yuzutas0
PRO
July 11, 2017
Tweet
Share
More Decks by yuzutas0
See All by yuzutas0
OLSにおける推定量β1=共分散÷分散の導出 / 20230517
yuzutas0
PRO
2
590
民間企業におけるデータ整備の課題と工夫 / 20220305
yuzutas0
PRO
15
7.4k
累計参加者8,500名! #DataEngineeringStudy の43スライドから学ぶ、データエンジニアリングの羅針盤 / 20220224
yuzutas0
PRO
15
5.2k
あの人の自分戦略を聞きたい!2022 #devsumi / 20220218
yuzutas0
PRO
3
4k
データ基盤による利益最大化と初期構築プロセス / 20220209
yuzutas0
PRO
10
6.5k
Engineer Career Lounge#1「エンジニアの成長戦略を考える」 #ECLounge カンニングペーパー / 20211217
yuzutas0
PRO
3
1.5k
Data Management Guide - 事業成長を支えるデータ基盤のDev&Ops #TechMar / 20211210
yuzutas0
PRO
19
25k
[投影資料]『実践的データ基盤への処方箋』の刊行にあたって #TechMar / 20210210-2
yuzutas0
PRO
1
3.5k
DXを妨げる要因と実現へのアプローチ by @yuzutas0 / 20211022
yuzutas0
PRO
55
46k
Other Decks in Technology
See All in Technology
VCC 2025 Write-up
bata_24
0
180
関係性が駆動するアジャイル──GPTに人格を与えたら、対話を通してふりかえりを習慣化できた話
mhlyc
0
130
成長自己責任時代のあるきかた/How to navigate the era of personal responsibility for growth
kwappa
3
280
後進育成のしくじり〜任せるスキルとリーダーシップの両立〜
matsu0228
7
2.7k
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
5.5k
Why React!?? Next.jsそしてReactを改めてイチから選ぶ
ypresto
10
4.5k
E2Eテスト設計_自動化のリアル___Playwrightでの実践とMCPの試み__AIによるテスト観点作成_.pdf
findy_eventslides
1
480
職種別ミートアップで社内から盛り上げる アウトプット文化の醸成と関係強化/ #DevRelKaigi
nishiuma
2
140
o11yで育てる、強い内製開発組織
_awache
3
120
SoccerNet GSRの紹介と技術応用:選手視点映像を提供するサッカー作戦盤ツール
mixi_engineers
PRO
1
190
バイブコーディングと継続的デプロイメント
nwiizo
2
440
Modern_Data_Stack最新動向クイズ_買収_AI_激動の2025年_.pdf
sagara
0
220
Featured
See All Featured
Designing for Performance
lara
610
69k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Designing for humans not robots
tammielis
254
25k
How STYLIGHT went responsive
nonsquared
100
5.8k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
For a Future-Friendly Web
brad_frost
180
9.9k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
The Cult of Friendly URLs
andyhume
79
6.6k
Unsuck your backbone
ammeep
671
58k
Site-Speed That Sticks
csswizardry
11
880
Transcript
૬ஊLT Pythonॳ৺ऀ͕Jupyter+BigQueryͰσʔλੳج൫Λ࡞Γ࢝Ί͕ͨ ͦΖͦΖݶքͳͷͰॿ͚͍ͯͩ͘͞ 2017-07-10 Pythonೖऀͷू͍#5 presented by @yuzutas0
https://www.pexels.com/photo/reptile-snake-snape-36448/
Pythonॳ৺ऀ͕ ͦΖͦΖݶքͳͷͰ ॿ͚͍ͯͩ͘͞ Jupyter+BigQueryͰσʔλੳج൫Λ࡞Γ࢝Ί͕ͨ
Pythonॳ৺ऀ͕ ͦΖͦΖݶքͳͷͰ ॿ͚͍ͯͩ͘͞ Jupyter+BigQueryͰσʔλੳج൫Λ࡞Γ࢝Ί͕ͨ
ɹ@yuzutas0 ɹPythonॳ৺ऀ ɹ- ࣄSREͱ͔ ɹ- ୲γεςϜͷར༻ݴޠ ɹɹJava,
Node.js, Ruby, Golang, Objective-C
ɹڥߏஙແʹΫϦΞ
ɹ“Hello World” Ͱ·͔͞ͷΤϥʔʂ
ɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹ͜Ε ɹίϩϯ͕͍ΔΒ͍͠
ͱ͍͏ঢ়ଶ͔Βελʔτ
Pythonॳ৺ऀ͕ ͦΖͦΖݶքͳͷͰ ॿ͚͍ͯͩ͘͞ Jupyter+BigQueryͰσʔλੳج൫Λ࡞Γ࢝Ί͕ͨ
ɹɹ1. ࢪࡦੳ → Build/Measure/Learn ɹɹ2. ఆৗతͳKPIϞχλϦϯά ɹɹ3. ػցֶशͷσʔληοτ४උ ɹΈΜͳσʔλ͍͍ͨΑͶ
ɹΈΜͳ͕σʔλΛಠࣗʹͬͨ ݩσʔλ ऩू/Ճ දࣔ/ੳ ɹɹɹɹɹɹɹɹɹɹɹɹɹ෦ॺA
ɹɹɹɹɹɹɹɹɹɹɹɹɹ෦ॺB ɹɹɹɹɹɹɹɹɹɹɹɹɹ෦ॺC ϩάA DB ϩάB Excel Redash Tableau
ɹτϥϒϧଟൃ - πʔϧ͝ͱʹച্ͷ͕ҧ͏ʂ ݩσʔλ ऩू/Ճ දࣔ/ੳ
ɹɹɹɹɹɹɹɹɹɹɹɹɹ෦ॺA ɹɹɹɹɹɹɹɹɹɹɹɹɹ෦ॺB ɹɹɹɹɹɹɹɹɹɹɹɹɹ෦ॺC ϩάA DB ϩάB Excel Redash Tableau
ɹՃϩδοΫͷผཧ͕ ݩσʔλ ऩू/Ճ දࣔ/ੳ ɹɹɹɹɹɹɹɹɹɹɹɹɹ෦ॺA
ɹɹɹɹɹɹɹɹɹɹɹɹɹ෦ॺB ɹɹɹɹɹɹɹɹɹɹɹɹɹ෦ॺC ϩάA DB ϩάB Excel Redash Tableau
ɹͳͷͰBigQueryʹҰݩԽ ݩσʔλ ऩू/Ճ දࣔ/ੳ ɹɹɹɹɹɹɹ෦ॺA
ɹɹɹɹɹɹɹ෦ॺB ɹɹɹɹɹɹɹ෦ॺC ϩάA DB ϩάB Excel Redash Tableau BigQuery
ɹ֤෦ॺͷಘҙͳΓํɾπʔϧม͑ͳ͍ ݩσʔλ ऩू/Ճ දࣔ/ੳ ɹɹɹɹɹɹɹ෦ॺA
ɹɹɹɹɹɹɹ෦ॺB ɹɹɹɹɹɹɹ෦ॺC ϩάA DB ϩάB Excel Redash Tableau BigQuery
ɹॲཧεΫϦϓτͱͯ͠PythonΛ࠾ Jupyter Notebook ಈ࡞֬ೝ͍͢͠ ه/࠶ݱ͍͢͠ Pandas σʔλՃ͍͢͠
JupyterͰ֬ೝ͍͢͠
Pythonॳ৺ऀ͕ ͦΖͦΖݶքͳͷͰ ॿ͚͍ͯͩ͘͞ Jupyter+BigQueryͰσʔλੳج൫Λ࡞Γ࢝Ί͕ͨ
Ϟϊಈ͍͍ͯΔ ɹྗͷ݁থ
.envʹΑΔڥมͷಡΈࠐΈ → ςετڥΛ ɹྗͷ݁থ
unittest ͰطଘExcelγʔτͷܭࢉ݁Ռͱಉ͡ʹͳΔ͜ͱΛࣗಈݕূ ɹྗͷ݁থ
Python3.4ʙͷEnumΛ׆༻ ˠ DictionaryܕͰΛཧ ɹྗͷ݁থ
EnumͷࣙॻσʔλΛ ͍͘͢͢ΔϝιουΛ جఈΫϥεʹू ɹྗͷ݁থ
දࣔΫϥεͱModelΫϥεͷI/FΛ҆ఆͤ͞ΔͨΊʹ Python3.5ʙͷTypeHintsΛ׆༻ ɹྗͷ݁থ
ച্ͳͲͷࢦඪ BQ࿈ܞʹΑΔ Immutableͳ Ϟσϧʹఆٛ ɹྗͷ݁থ
BQ༻ΫΤϦPython3.6ʙͷf-stringsΛ׆༻ ϝιουΓग़͠ → Ҿ͖͠Ͱมείʔϓ੍ޚ ɹྗͷ݁থ
ɹ͜ͷΜʢʹฉ͘ͷ͕ૣͦ͏ʣ ෦༷ΛѲɺ ύϑΥʔϚϯεΛ࠷దԽͰ͖Δ ʢDocsɾॻ੶ɾίʔυΛಡΉϑΣʔζʣ ֎෦༷ΛѲɺอकੑΛ্Ͱ͖Δ ʢଞਓͷίʔυΛಡΉˍॻ͖͢ϑΣʔζʣ ɹݴޠͷֶशεςʔδͱͯ͠
ػೳཁ݅ΛຬͨͤΔ ʢͻͨ͢Βॻ͘ˍάάΔϑΣʔζʣ ڥߏங Hello World ͬ͘͟Γ σόοά ɾ݁߹ ϕλʔͳॻ͖ํ ศརͳϥΠϒϥϦ ϕϯνϚʔΫˍ νϡʔχϯά ෦मਖ਼ ͖ͪΜͱ σόοά
εϥεϥΘ͔Βͳ͍Python ɹཁ͢Δʹ
1. ͨͿΜ໊લۭؒܥ 2. JavaͩͱͰ͖ΔͷͰPythonͰ͖ͯ΄͍͠ܥ 3. IntelliJʢPythonϓϥάΠϯಋೖࡁΈʣܥ 4. ςετίʔυܥ
ɹಈ࡞͢Δ͚Ͳ͍ͨ͠Ϧετ
ϥΠτχϯάྻڍ͍ͯ͘͠ͷͰ ʮ͜͏͢Εղܾ͢ΔͷͰʁʯ ʮ͜͏͍͏࣭ͷํΛͯ͘͠Εʯ ͳͲͳͲɺޙͰڭ͍͑ͯͩ͘͞
__init__.py Ͱ import ͠·͘Δ༷͕͏͍͟ɻ ͳͯ͘ಈ͘ՕॴͱɺඞਢͷՕॴ͕͋Δʁ ɹ1. ͨͿΜ໊લۭؒܥ
ผϞδϡʔϧͷఆΛ͏ͱ͖ʹɺ Πϯϙʔτจ্͕ख͍͘͘έʔεͱ ͦ͏Ͱͳ͍έʔε͕͋Δ ɹ1. ͨͿΜ໊લۭؒܥ
Ϋϥεͷ getter/setter Λলུ͍ͨ͠ ʢ@Lombok.DataతͳϥΠϒϥϦ͕ཉ͍͠ʣ ɹ2. JavaͩͱͰ͖ΔͷͰPythonͰ͖ͯ΄͍͠ܥ
__init__() ʹશϑΟʔϧυΛ٧ΊΔॲཧΛॻ͘ͷ͕खؒ ʢ@AllArgsConstructerతͳϥΠϒϥϦ͕ཉ͍͠ʣ ɹ2. JavaͩͱͰ͖ΔͷͰPythonͰ͖ͯ΄͍͠ܥ
pandasͷdataframe['column']Λ PythonΦϒδΣΫτͷ column ϓϩύςΟʹίϐʔ͍ͨ͠ ʢModelMapper͕ཉ͍͠ʣ ɹ2. JavaͩͱͰ͖ΔͷͰPythonͰ͖ͯ΄͍͠ܥ
EnumͷvalueΛdictionaryܕͰ͍࣋ͬͯΔ͕ɺ ͬͱָʹΛऔಘ͍ͨ͘͢͠͠ ʢશEnumΛϧʔϓͤͯ֘͢͞ΔΛऔಘ͢ΔϝιουΛॻ͍͍ͯΔ͕ʣ ɹ2. JavaͩͱͰ͖ΔͷͰPythonͰ͖ͯ΄͍͠ܥ
IntelliJͰͷΠϯϙʔτ͕ઈରύεʹͳΔ͚Ͳɺ ࣮ߦ࣌ʹղܾͰ͖ͳ͍ͷͰɺ૬ରύεʹ͍ͨ͠ ɹ3. IntelliJʢPythonϓϥάΠϯಋೖࡁΈʣܥ
τοϓϨϕϧϞδϡʔϧͷΠϯϙʔτจΛ import .xxx.yyy.zzz Ͱͳ͘ import xxx.yyy.zzz ͱهड़ɻ IDEͩͱSyntaxErrorʹͳΔ͕࣮ߦ௨Δɻ ٯʹIDEʹ߹Θͤͯʮ.ʯͰ࢝ΊΔͱ͚͜Δɻ͜Ε໊લۭؒʁ
ɹ3. IntelliJʢPythonϓϥάΠϯಋೖࡁΈʣܥ
IntelliJͷRefactoringͰΫϥε໊Λม͑ͨͱ͖ʹ ϑΝΠϧ໊͕ࣗಈͰ࿈ಈͯ͠มΘͬͯ͘Εͳ͍ɻ ٯવΓɻຯʹ1൪ਏ͍ɻ ɹ3. IntelliJʢPythonϓϥάΠϯಋೖࡁΈʣܥ
testσΟϨΫτϦҎԼͷશεΫϦϓτΛҰׅͰ࣮ߦ͍ͨ͠ɻ ΦϓγϣϯΛ͚ͭͯσΟϨΫτϦ͕ωετ͢Δͱࣦഊͯ͠͠·͏ ͳͷͰݱࡏ֤σΟϨΫτϦΛݸผͰࢦఆ͍ͯ͠Δɻ ʢ֦ுੑ͕ͳ͍ʣ ɹ4. ςετίʔυܥ
ʢ͜ΕPythonͷ࣭Ͱͳ͍͚Ͳʣ Excelͷग़ྗ༰Λςετ͢Δͱ͖ɺϑΝΠϧ͕ग़Δͱअຐɻ ϞοΫΛ͏ʁ or ࣮ߦޙʹϑΝΠϧΛຖճআ͢Δʁ Ͳ͕͍͍ͬͪͰ͔͢Ͷʔʁ ɹ4. ςετίʔυܥ
Pythonॳ৺ऀ͕ ͦΖͦΖݶքͳͷͰ ॿ͚͍ͯͩ͘͞ Jupyter+BigQueryͰσʔλੳج൫Λ࡞Γ࢝Ί͕ͨ
ॿ͚͍ͯͩ͘͞
Q&AαʔϏεͰ ฉ͚ྑ͔ͬͨʢʁʣ ɹهɿձʹདྷͯؾ͍ͨ͜ͱ
ͨͱ͑ ɹهɿձʹདྷͯؾ͍ͨ͜ͱ
teratail ɹهɿձʹདྷͯؾ͍ͨ͜ͱ
͝ਗ਼ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠ presented by @yuzutas0 https://www.pexels.com/photo/reptile-snake-snape-36448/