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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
650
民間企業におけるデータ整備の課題と工夫 / 20220305
yuzutas0
PRO
15
7.9k
累計参加者8,500名! #DataEngineeringStudy の43スライドから学ぶ、データエンジニアリングの羅針盤 / 20220224
yuzutas0
PRO
15
5.3k
あの人の自分戦略を聞きたい!2022 #devsumi / 20220218
yuzutas0
PRO
4
4.2k
データ基盤による利益最大化と初期構築プロセス / 20220209
yuzutas0
PRO
10
6.7k
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.7k
DXを妨げる要因と実現へのアプローチ by @yuzutas0 / 20211022
yuzutas0
PRO
55
46k
Other Decks in Technology
See All in Technology
15 years with Rails and DDD (AI Edition)
andrzejkrzywda
0
130
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
13k
AI時代、1年目エンジニアの悩み
jin4
1
130
いよいよ仕事を奪われそうな波が来たぜ
kazzpapa3
3
320
分析画面のクリック操作をそのままコード化 ! エンジニアとビジネスユーザーが共存するAI-ReadyなBI基盤
ikumi
0
120
開発メンバーが語るFindy Conferenceの裏側とこれから
sontixyou
2
450
What happened to RubyGems and what can we learn?
mikemcquaid
0
170
Werner Vogelsが14年間 問い続けてきたこと
yusukeshimizu
2
280
全員が「作り手」になる。職能の壁を溶かすプロトタイプ開発。
hokuo
1
660
20260129_CB_Kansai
takuyay0ne
1
250
オープンウェイトのLLMリランカーを契約書で評価する / searchtechjp
sansan_randd
3
530
今日から始めるAmazon Bedrock AgentCore
har1101
4
300
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
37
7.1k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
60
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
210
4 Signs Your Business is Dying
shpigford
187
22k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
69
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
77
Designing for humans not robots
tammielis
254
26k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
130
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.4k
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/