Slide 1

Slide 1 text

Interactive Network Visualization using Python 5PNPLP'VSVLJ!LPNP@GS SFQPIUUQTHJUIVCDPNLPNPGSQZDPOKQ@@UBML 1Z$PO+1 NetworkX + BokehͰ PEPͷࢀরؔ܎ΛՄࢹԽ͢Δ

Slide 2

Slide 2 text

ࣗݾ঺հ ;Δ͖ͱ΋͜ɹ!LPNP@GS w ॴଐ෋࢜ϑΠϧϜιϑτ΢ΤΞגࣜձࣾ w 1ZUIPOྺ1ZUIPOʙ !2 w झຯ1&1 1ZUIPO&OIBODFNFOU1SPQPTBM ͷ
 ࢀরؔ܎ΛՄࢹԽ͢Δ8FCϖʔδΛ࡞ͬͯ·͢ w 1&1.BQ ЋWFS 
 IUUQTLPNPGSHJUIVCJPQFQ@NBQ@TJUF


Slide 3

Slide 3 text

झຯ1&1ͷࢀরؔ܎ͷՄࢹԽ !3

Slide 4

Slide 4 text

झຯ1&1ͷࢀরؔ܎ͷՄࢹԽ !4 1&1

Slide 5

Slide 5 text

ࠓ೔࿩͢͜ͱͷ֓ཁ w1&1ΛࣗྗͰಡΉͱ͖ʹָʹͳΔπʔϧ͕ཉ͍͠
 ͱ͍͏ಈػ͔Βɺ
 1&1ͷࢀরؔ܎ΛՄࢹԽ͢Δ׆ಈΛͯ͠·͢ wͦͷ׆ಈͷதͰ
 /FUXPSL9ͱ#PLFIΛ࢖ͬͯ
 ΠϯλϥΫςΟϒͳωοτϫʔΫՄࢹԽΛߦͬͨͷͰ
 ͦͷϊ΢ϋ΢Λ঺հ͠·͢ !5

Slide 6

Slide 6 text

ࠓ೔࿩͢͜ͱͷ֓ཁ !6 ੩ࢭը

Slide 7

Slide 7 text

ࠓ೔࿩͢͜ͱͷ֓ཁ !7 ର࿩తͳૢ࡞ ੩ࢭը

Slide 8

Slide 8 text

ର৅ -FWFM#FHJOOFS 1ZUIPOͰίʔυͷಡΈॻ͖͕Ͱ͖Δ !1ZUIPOͰΑ͘࢖ΘΕΔσʔλܥͷಓ۩ཱͯ
 ʢ/VNQZ QBOEBT NBUQMPUMJC +VQZUFS/PUFCPPL౳ ͸
 ͳΜͱͳ͘஌ͬͯΔ !Ͱ΋ɺ/FUXPSL9΍#PLFI͸Α͘஌Βͳ͍ !8

Slide 9

Slide 9 text

ࠓ೔ͷࢿྉ͸ ެ։͠·͢ 3FQPTJUPSZ IUUQTHJUIVCDPNLPNPGSQZDPOKQ@@UBML ޙ೔αϯϓϧίʔυ΋61͠·͢

Slide 10

Slide 10 text

"HFOEB 8IBU 1&1ͷࢀরؔ܎ͬͯԿʁ 8IZ ͳͥͦΜͳ͜ͱΛͨ͠ͷʁ )PX Ͳ͏΍ͬͯ࡞ͬͨͷʁ wωοτϫʔΫ෼ੳͷಓ۩ཱͯͱબఆཧ༝ wϋϚͬͨϙΠϯτ wFUDʜ !10

Slide 11

Slide 11 text

8IBU 1&1ͷࢀরؔ܎ͬͯԿʁ

Slide 12

Slide 12 text

1&1 1ZUIPO&OIBODFNFOU1SPQPTBM w 1ZUIPO֦ுఏҊ w 1ZUIPOͷػೳ΍ϓϩηεɾ؀ڥͳͲʹ͍ͭͯ
 େ͖ͳมߋ͕͋Δͱ͖ʹॻ͔ΕΔఏҊॻ w 1&1ͷ໨࣍ɿ
 IUUQTXXXQZUIPOPSHEFWQFQT !12

Slide 13

Slide 13 text

͜ͷػೳ͸͏ΜͨΒ͔ΜͨΒ

Slide 14

Slide 14 text

ৄ͘͠͸ 1&1ΛಡΜͰͶ

Slide 15

Slide 15 text

ྫ 1&1ίʔσΟϯάελΠϧ !15 https://www.python.org/dev/peps/pep-0008/ 1ZUIPOͷίʔυΛॻ͘ͱ͖͸ɺ ͜ͷελΠϧͰॻ͍ͯͶ

Slide 16

Slide 16 text

1&1ΛಡΉͱԿ͕Θ͔Δͷʁ !16 w ࠓ·ͰͲ͏͍͏ఏҊ͕͋ͬͨͷ͔ w Ͳ͏͍͏σΟεΧογϣϯ͕͋ͬͨͷ͔ w ࠷ऴతʹͦΕ͸"DDFQU͞Εͨͷ͔ɺ
 3FKFDU͞Εͨͷ͔ w 3FKFDFU͞ΕͨͷͳΒɺͳͥͦ͏ͳͬͨͷ͔ w ͳͲͳͲ

Slide 17

Slide 17 text

1&1ΛಡΉͱԿ͕Θ͔Δͷʁ !17 1&1ΛಡΉͱ 1ZUIPOͷྺ࢙͕Θ͔Δ

Slide 18

Slide 18 text

1&1ΛಡΉͱԿ͕Θ͔Δͷʁ !18 1&1ΛಡΉͱ 1ZUIPOͷྺ࢙͕Θ͔Δ Β͍͠ɻ

Slide 19

Slide 19 text

1&1ͷࢀরؔ܎ wݱࡏͷ1&1͸Ҏ্ w͋Δ1&1͔Β͸ɺ
 ଞͷ1&1ʹରͯ͠ϦϯΫ͕షΒΕ͍ͯΔ ଞͷPEP΁ͷϦϯΫ https://www.python.org/dev/peps/pep-0008/

Slide 20

Slide 20 text

1&1ͷࢀরؔ܎ !20 1&1 Style Guide for Python Code

Slide 21

Slide 21 text

1&1ͷࢀরؔ܎ !21 1&1 1&1 Style Guide for Python Code The Zen of Python As PEP 20 says, “Readability counts".

Slide 22

Slide 22 text

1&1ͷࢀরؔ܎ !22 1&1 1&1 1&1 Style Guide for Python Code The Zen of Python Docstring Conventions The "Specification" text comes mostly verbatim from the Python Style Guide [4] essay by Guido van Rossum.

Slide 23

Slide 23 text

1&1ͷࢀরؔ܎ !23 1&1 1&1 1&1 Style Guide for Python Code The Zen of Python Docstring Conventions

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

8IZ ͳͥɺ͜ΕΛ΍ͬͯΔͷʁ

Slide 26

Slide 26 text

ಈػ ॳֶऀʢࢲʣ͕
 ࣗྗͰٕज़ͷҰ࣍৘ใʢ1&1ʣΛಡΉͨΊͷ
 ʮ஍ਤʯ͕ཉ͔ͬͨ͠ !26

Slide 27

Slide 27 text

ಈػ ॳֶऀʢࢲʣ͕
 ࣗྗͰٕज़ͷҰ࣍৘ใʢ1&1ʣΛಡΉͨΊͷ
 ʮ஍ਤʯ͕ཉ͔ͬͨ͠ !27 ॳ৺ऀ

Slide 28

Slide 28 text

ಈػ ॳֶऀʢࢲʣ͕
 ࣗྗͰٕज़ͷҰ࣍৘ใʢ1&1ʣΛಡΉͨΊͷ
 ʮ஍ਤʯ͕ཉ͔ͬͨ͠ !28 தڃऀ ॳ৺ऀ

Slide 29

Slide 29 text

ಈػ ॳֶऀʢࢲʣ͕
 ࣗྗͰٕज़ͷҰ࣍৘ใʢ1&1ʣΛಡΉͨΊͷ
 ʮ஍ਤʯ͕ཉ͔ͬͨ͠ !29 ॳ৺ऀ தڃऀ ೋ࣍৘ใ

Slide 30

Slide 30 text

ಈػ ॳֶऀʢࢲʣ͕
 ࣗྗͰٕज़ͷҰ࣍৘ใʢ1&1ʣΛಡΉͨΊͷ
 ʮ஍ਤʯ͕ཉ͔ͬͨ͠ !30 ॳ৺ऀ தڃऀ ೋ࣍৘ใ Ұ࣍৘ใ

Slide 31

Slide 31 text

ͱ͸͍͑ɾɾɾ 1&1͸ॳ৺ऀ͕໨త΋ͳ͠ʹ
 ಡΊΔΑ͏ͳ΋ͷͰ΋ͳ͍ w ӳޠͩ͠ɺྔ΋ଟ͍͠ɺ಺༰΋ਂͯ͘೉͍͠ !31

Slide 32

Slide 32 text

ͱ͸͍͑ɾɾɾ 1&1͸ॳ৺ऀ͕໨త΋ͳ͠ʹ
 ಡΊΔΑ͏ͳ΋ͷͰ΋ͳ͍ w ӳޠͩ͠ɺྔ΋ଟ͍͠ɺ಺༰΋ਂͯ͘೉͍͠ !32 Ͳ͔͜Β ͔͡Ε͹͍͍ͷɻɻɻ ๲େͳҰ࣍৘ใ

Slide 33

Slide 33 text

๲େͳҰ࣍৘ใʹ৺ંΕͳ͍ͨΊʹ͸ ίʔσΟϯάΛࢧ͑Δٕज़
 ੒Γཱ͔ͪΒֶͿϓϩάϥϛϯά࡞๏
 ੢ඌହ࿨ ஶ ٕज़ධ࿦ࣾ ग़൛ ඞཁͳͱ͜Ζ͔Β͔͡Δ ͓͓·͔ʹ͔ͭΜͰ
 ঃʑʹৄࡉԽ͢Δ ୺͔Βॱ൪ʹࣸܦ͢Δ !33 "NB[POIUUQTBN[OUPPW'.3G ٕज़ධ࿦ࣾIUUQTCJUMZ.'M.E/

Slide 34

Slide 34 text

๲େͳҰ࣍৘ใʹ৺ંΕͳ͍ͨΊʹ͸ ίʔσΟϯάΛࢧ͑Δٕज़
 ੒Γཱ͔ͪΒֶͿϓϩάϥϛϯά࡞๏
 ੢ඌହ࿨ ஶ ٕज़ධ࿦ࣾ ग़൛ ඞཁͳͱ͜Ζ͔Β͔͡Δ ͓͓·͔ʹ͔ͭΜͰ
 ঃʑʹৄࡉԽ͢Δ ୺͔Βॱ൪ʹࣸܦ͢Δ !34 "NB[POIUUQTBN[OUPPW'.3G ٕज़ධ࿦ࣾIUUQTCJUMZ.'M.E/

Slide 35

Slide 35 text

Ͳ͏΍ͬͯେ·͔ʹ௫Ήʁ w Ұൠతͳॻ੶͸໨͔࣍Βશମͷߏ଄͕͔ͭΊΔ͕ɺ
 1&1ͷ໨࣍ʢ1&1ʣ͸શͯฒྻ w ͨ·ͨ·ՄࢹԽ๏ֶͱ͍͏ϓϩδΣΫτΛ஌Δ w ๏཯ͷ৚จͷࢀরؔ܎ΛՄࢹԽ͢ΔϓϩδΣΫτ IUUQXXXMBXWJTJOGP w 1&1΋ʮϦϯΫ͕͋Δ1&1ಉ࢜͸ԿΒ͔ͷؔ܎͕͋Δʯ ͱਪଌͰ͖Δ͔Βɺಉ͡Α͏ʹࢀরؔ܎ΛՄࢹԽ͢Δ ͜ͱͰ1&1શମͷߏ଄Λ၆ᛌͰ͖Δ͔΋ʁʁ !35

Slide 36

Slide 36 text

No content

Slide 37

Slide 37 text

1&1

Slide 38

Slide 38 text

1&1

Slide 39

Slide 39 text

1&1 1&1

Slide 40

Slide 40 text

%&.0 IUUQTLPNPGSHJUIVCJPQFQ@NBQ@TJUFOFUXPSLIUNM

Slide 41

Slide 41 text

)PX Ͳ͏΍ͬͯ΍Δͷʁ

Slide 42

Slide 42 text

ωοτϫʔΫ෼ੳ !42 ʮԿ͔ʯͱʮԿ͔ʯͷͭͳ͕Γͷߏ଄Λ
 ஌ΔͨΊͷ෼ੳख๏ w 4/4ͷϑΥϩʔؔ܎ ਓͱਓͱͷͭͳ͕Γ w ࿦จͷҾ༻ؔ܎ʢ࿦จͱ࿦จͷͭͳ͕Γʣ ϊʔυ ϊʔυ Τοδ

Slide 43

Slide 43 text

ख๏΋ಓ۩΋৭ʑ !43 ख๏ ಓ۩ πʔϧɾϥΠϒϥϦ 1ZUIPO /FUXPSL9 QZUIPOJHSBQI 3 J(SBQI +BWB4DSJQU %KT ՄࢹԽͷΈ σεΫτοϓܥ (6*πʔϧ $ZUPTDBQF (FQIJ QBKFL ՄࢹԽ த৺ੑͳͲॾࢦඪͷࢉग़ ίϛϡχςΟݕग़ FUDʜ

Slide 44

Slide 44 text

ࠓճຬ͍ͨͨ͠ཁ݅ 1ZUIPOͰҰ؏ͯ͠࡞Γ͍ͨ ର࿩తʹૢ࡞͍ͨ͠ʢζʔϜͨ͠Γϗόʔ৘ใग़ͨ͠Γʣ ωοτϫʔΫՄࢹԽʢ1&1શମͷߏ଄ ʹ෇ਵͯ͠ɺ
 දܗࣜ΍࣌ܥྻϓϩοτͳͲଞͷܗࣜͰ΋ද͍ࣔͨ͠ ࣗ෼ͷ1$͚ͩͰಈ͘ͷͰ͸ͳ͘ɺ8FCͰެ։͍ͨ͠ ӡ༻ʹύϫʔΛׂ͖ͨ͘ͳ͍ʢαʔόΛ࣋ͪͨ͘ͳ͍ʣ !44

Slide 45

Slide 45 text

ࠓճຬ͍ͨͨ͠ཁ݅ 1ZUIPOͰҰ؏ͯ͠࡞Γ͍ͨ ର࿩తʹૢ࡞͍ͨ͠ʢζʔϜͨ͠Γϗόʔ৘ใग़ͨ͠Γʣ ωοτϫʔΫՄࢹԽʢ1&1શମͷߏ଄ ʹ෇ਵͯ͠ɺ
 දܗࣜ΍࣌ܥྻϓϩοτͳͲଞͷܗࣜͰ΋ද͍ࣔͨ͠ ࣗ෼ͷ1$͚ͩͰಈ͘ͷͰ͸ͳ͘ɺ8FCͰެ։͍ͨ͠ ӡ༻ʹύϫʔΛׂ͖ͨ͘ͳ͍ʢαʔόΛ࣋ͪͨ͘ͳ͍ʣ !45

Slide 46

Slide 46 text

ࠓճຬ͍ͨͨ͠ཁ݅ 1ZUIPOͰҰ؏ͯ͠࡞Γ͍ͨ ର࿩తʹૢ࡞͍ͨ͠ʢζʔϜͨ͠Γϗόʔ৘ใग़ͨ͠Γʣ ωοτϫʔΫՄࢹԽʢ1&1શମͷߏ଄ ʹ෇ਵͯ͠ɺ
 දܗࣜ΍࣌ܥྻϓϩοτͳͲଞͷܗࣜͰ΋ද͍ࣔͨ͠ ࣗ෼ͷ1$͚ͩͰಈ͘ͷͰ͸ͳ͘ɺ8FCͰެ։͍ͨ͠ ӡ༻ʹύϫʔΛׂ͖ͨ͘ͳ͍ʢαʔόΛ࣋ͪͨ͘ͳ͍ʣ !46

Slide 47

Slide 47 text

ࠓճຬ͍ͨͨ͠ཁ݅ 1ZUIPOͰҰ؏ͯ͠࡞Γ͍ͨ ର࿩తʹૢ࡞͍ͨ͠ʢζʔϜͨ͠Γϗόʔ৘ใग़ͨ͠Γʣ ωοτϫʔΫՄࢹԽʢ1&1શମͷߏ଄ ʹ෇ਵͯ͠ɺ
 දܗࣜ΍࣌ܥྻϓϩοτͳͲଞͷܗࣜͰ΋ද͍ࣔͨ͠ ࣗ෼ͷ1$͚ͩͰಈ͘ͷͰ͸ͳ͘ɺ8FCͰެ։͍ͨ͠ ӡ༻ʹύϫʔΛׂ͖ͨ͘ͳ͍ʢαʔόΛ࣋ͪͨ͘ͳ͍ʣ !47

Slide 48

Slide 48 text

1&1͕ ࢀর͍ͯ͠Δ1&1ͷ Ұཡ 1&1͕ ࢀর͞Ε͍ͯΔ1&1 ͷҰཡ

Slide 49

Slide 49 text

ࠓճຬ͍ͨͨ͠ཁ݅ 1ZUIPOͰҰ؏ͯ͠࡞Γ͍ͨ ର࿩తʹૢ࡞͍ͨ͠ʢζʔϜͨ͠Γϗόʔ৘ใग़ͨ͠Γʣ ωοτϫʔΫՄࢹԽʢ1&1શମͷߏ଄ ʹ෇ਵͯ͠ɺ
 දܗࣜ΍࣌ܥྻϓϩοτͳͲଞͷܗࣜͰ΋ද͍ࣔͨ͠ ࣗ෼ͷ1$͚ͩͰಈ͘ͷͰ͸ͳ͘ɺ8FCͰެ։͍ͨ͠ ӡ༻ʹύϫʔΛׂ͖ͨ͘ͳ͍ʢαʔόΛ࣋ͪͨ͘ͳ͍ʣ !49

Slide 50

Slide 50 text

ࠓճຬ͍ͨͨ͠ཁ݅ 1ZUIPOͰҰ؏ͯ͠࡞Γ͍ͨ ର࿩తʹૢ࡞͍ͨ͠ʢζʔϜͨ͠Γϗόʔ৘ใग़ͨ͠Γʣ ωοτϫʔΫՄࢹԽʢ1&1શମͷߏ଄ ʹ෇ਵͯ͠ɺ
 දܗࣜ΍࣌ܥྻϓϩοτͳͲଞͷܗࣜͰ΋ද͍ࣔͨ͠ ࣗ෼ͷ1$͚ͩͰಈ͘ͷͰ͸ͳ͘ɺ8FCͰެ։͍ͨ͠ ӡ༻ʹύϫʔΛׂ͖ͨ͘ͳ͍ʢαʔόΛ࣋ͪͨ͘ͳ͍ʣ !50

Slide 51

Slide 51 text

બΜͩ΋ͷ #FBVUJGVMTPVQ εΫϨΠϐϯάʣ QBOEBT σʔλͷ੔ܗ /FUXPSL9ʢωοτϫʔΫߏ଄Խத৺ੑࢉग़ͳͲʣ #PLFI ΠϯλϥΫςΟϒͳՄࢹԽ
 ɹɹɹɹ)5.-ͰΞ΢τϓοτ (*U)VC1BHFTͰެ։ !51

Slide 52

Slide 52 text

/FUXPSL9 ෳࡶωοτϫʔΫͷͨΊͷ1ZUIPOύοέʔδ !52 NetworkX is a Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks. https://networkx.github.io/ w࠷৽҆ఆ൛ wʜʜͷ͚ͩͲɺઌिͷ3$൛͕ϓϨϦϦʔε͞Εͨ wࡢ೥ ೥ ɺ೥ͿΓͷϝδϟʔόʔδϣϯΞοϓ w IUUQTOFUXPSLYHJUIVCJPEPDVNFOUBUJPOOFUXPSLY SFMFBTFSFMFBTF@IUNM

Slide 53

Slide 53 text

Ҏ߱ͰQBOEBTͱͷ࿈ܞ͕ศརʹ !53 Style Guide for Python Code The Zen of Python Docstring Conventions 1&1 1&1 1&1 1&1 1&1 1&1 ྡ઀ߦྻ BEKBDFODZNBUSJY TUBSU FOE 1&1 1&1 1&1 1&1 1&1 1&1 ΤοδϦετ FEHFMJTU

Slide 54

Slide 54 text

QBOEBTͱͷ࿈ܞʹ͍ͭͯ ൃදऴྃޙͷٳܜ࣌ؒʹɺ
 QBOEBTͱͷ࿈ܞʹ͍࣭ͭͯ໰͕͋ͬͨͷͰิ଍͠·͢ɻ ௥ՃεϥΠυ̍ NetworkXͷIntorductionͷʮ(SBQI$SFBUJPOʯͰ͸ɺadd_edgeؔ਺΍add_nodeؔ ਺Λ࢖ͬͯάϥϑߏ଄Λ࡞੒͢Δํ๏͕঺հ͞Ε͍ͯ·͕͢ɺNetworkXͰ͸͜ΕҎ֎ ʹ΋ࣙॻɺϦετɺNumpyɺSciPyɺpandasͳͲͰ࡞ͬͨσʔλ͔Βάϥϑߏ଄Λੜ ੒͢Δ͜ͱ͕Ͱ͖·͢ɻ Converting to and from other data formats To NetworkX Graph https://networkx.github.io/documentation/stable/reference/convert.html

Slide 55

Slide 55 text

QBOEBTͱͷ࿈ܞʹ͍ͭͯ NetworkX 1Ͱ΋pandasͰ࡞ͬͨσʔλߏ଄͔ΒάϥϑΛੜ੒͢Δؔ਺͸༻ҙ͞Ε͍ͯ· ͕ͨ͠ɺʮfrom_pandas_dataframeؔ਺Ͱpandas͔ΒNetworkXʹม׵͢Δͱ͖͸ࢬϦ ετܗࣜͷσʔλϑϨʔϜΛ࢖͏͕ɺto_pandas_dataframeؔ਺ͰNetworkX͔Βpandas ʹม׵͢Δͱྡ઀ߦྻܗࣜͷσʔλϑϨʔϜ͕Ͱ͖Δʯͱ͍͏ඇରশͳAPI࢓༷ʹͳͬͯ ͍·ͨ͠ɻͦͷͨΊɺNetworkX 2.0Ͱ͸ɺྡ઀ߦྻͱΤοδϦετͦΕͧΕʹରԠͨؔ͠ ਺͕4ͭ༻ҙ͞Ε·ͨ͠ɻ Pandas | Converting to and from other data formats To NetworkX Graph https://networkx.github.io/documentation/stable/reference/convert.html#pandas Issue #2464: to_pandas_dataframe is not the inverse of from_pandas_dataframe https://github.com/networkx/networkx/issues/2464 ͜ͷ࣌௥Ճ͞Εͨfrom_pandas_adjacencyؔ਺ʹΑΓɺྡ઀ߦྻܗࣜͷpandasͷσʔλ ϑϨʔϜ͔Βάϥϑߏ଄Λ࡞ΕΔΑ͏ʹͳΓ·ͨ͠ɻࠓ·Ͱ΋NumpyܗࣜͰྡ઀ߦྻΛ ࡞ͬͯάϥϑߏ଄ʹม׵͢Δؔ਺͸͋ͬͨͷͰ͕͢ɺfrom_pandas_adjacencyؔ਺Λ࢖ ͏ͱpandasͷߦ໊ɾྻ໊͕ϊʔυ໊ʹׂΓ౰ͯΒΕΔͷͰɺݸਓతʹ͸Θ͔Γ΍ͯ͘͢ ศརʹͳͬͨͱࢥ͍ͬͯ·͢ɻ ௥ՃεϥΠυ

Slide 56

Slide 56 text

QBOEBTͱͷ࿈ܞʹ͍ͭͯ ͕ɺ͜ͷfrom_pandas_adjacencyؔ਺ɺͰ͖ͨͯ΄΍΄΍ͷͨΊ͔2.0΍2.1ͩͱόάΛ౿ ΉՄೳੑ͕͋Γ·͢ɻ݁࿦͔Βݴ͏ͱ2018/9/22ݱࡏ࠷৽൛ͷ2.2Λ࢖༻͠·͠ΐ͏ɻ 2.0ͷ࣌఺Ͱ͸ɺ༗޲άϥϑ͕࡞੒͞Εͳ͍ෆ۩߹͕͋Γ·͢ɻ Issue #2828: Cannot create multiedge graph from an adjacency matrix in pandas https://github.com/networkx/networkx/issues/2828 2.1ͷ࣌఺Ͱ͸ɺߦॱͱྻॱΛἧ͑ͳ͍ͱҙਤ͠ͳ͍άϥϑ͕࡞੒͞ΕΔෆ۩߹͕͋Γ· ͢ɻ Issue #3105 : When using 'from_pandas_adjacency', edges are added focusing on column names rather than the order https://github.com/networkx/networkx/issues/3105 ͲͪΒ΋2.2ͷ࣌఺Ͱ͸मਖ਼͞Ε͍ͯ·͕͢ɺԿΒ͔ͷཧ༝Ͱݹ͍όʔδϣϯΛ࢖͏ඞཁ ͕͋Δ৔߹͸஫ҙ͍ͯͩ͘͠͞ɻ ·ͨɺࠓճͷPEPͷࢀরؔ܎ωοτϫʔΫ͸ϊʔυ਺͕͔͔ͨͩ400ʙ500ఔ౓ͳͷͰྡ ઀ߦྻΛ࢖ͬͯ΋ಛʹ໰୊͸͋Γ·ͤΜ͕ɺҰൠతʹ͸ʢಛʹૄͳάϥϑͰ͸ʣΤοδ Ϧετͷํ͕ྡ઀ߦྻΑΓ΋ίϯύΫτʹσʔλΛѻ͑ΔͷͰɺঢ়گʹΑΓ࢖͍෼͚· ͠ΐ͏ɻ ௥ՃεϥΠυ ௥ՃεϥΠυ͸͜͜·ͰͰ͢ɻ

Slide 57

Slide 57 text

#PLFI !57 ΠϯλϥΫςΟϒͳՄࢹԽϥΠϒϥϦ Bokeh is an interactive visualization library that targets modern web browsers for presentation. (ུ) 
 Bokeh can help anyone who would like to quickly and easily create interactive plots, dashboards, and data applications. https://bokeh.pydata.org/en/latest/ !57

Slide 58

Slide 58 text

ͳͥ#PLFI ࠷ॳͷֶशͷϋʔυϧ͕௿͔ͬͨ w ೔ຊޠॻ੶ͷଘࡏ w 1ZUIPOϢʔβͷͨΊͷ+VQZUFS/PUFCPPL<࣮ફ>ೖ໳
 ٕज़ධ࿦ࣾ ΍Γ͍ͨ͜ͱ͕ຬͨͤͦ͏ͩͬͨ w ϗόʔ΍ζʔϜػೳ͕खܰʹ࡞ΕΔ w IUNMϑΝΠϧ΍+VQZUFS/PUFCPPLʹग़ྗͰ͖Δ ࡢ೥/FUXPSL9ͱͷ࿈ܞ͕ਖ਼ࣜʹαϙʔτ͞Εͨ w SFMFBTF !58

Slide 59

Slide 59 text

ͳͥ#PLFI ࠷ॳͷֶशͷϋʔυϧ͕௿͔ͬͨ w ೔ຊޠॻ੶ͷଘࡏ w 1ZUIPOϢʔβͷͨΊͷ+VQZUFS/PUFCPPL<࣮ફ>ೖ໳
 ٕज़ධ࿦ࣾ ΍Γ͍ͨ͜ͱ͕ຬͨͤͦ͏ͩͬͨ w ϗόʔ΍ζʔϜػೳ͕खܰʹ࡞ΕΔ w IUNMϑΝΠϧ΍+VQZUFS/PUFCPPLʹग़ྗͰ͖Δ ࡢ೥/FUXPSL9ͱͷ࿈ܞ͕ਖ਼ࣜʹαϙʔτ͞Εͨ w SFMFBTF !59

Slide 60

Slide 60 text

೥͔͔ͬͯϦϦʔε͞Εͨ !60 ೥ʹJTTVFཱ͕ͭʹϦϦʔε IUUQTHJUIVCDPNCPLFICPLFIJTTVFT

Slide 61

Slide 61 text

7JTVBMJ[JOH/FUXPSL(SBQIT !61 IUUQTCPLFIQZEBUBPSHFOMBUFTUEPDT VTFS@HVJEFHSBQIIUNM

Slide 62

Slide 62 text

(SBQI3FOEFSFS

Slide 63

Slide 63 text

(SBQI3FOEFSFSొ৔લ !63 ԁ $JSDMFʣͱઢ .VMUJ-JOF ͷ෦඼Λࣗ෼Ͱ഑ஔ͢Δ ྫ /FUXPSL97JTVBMJ[BUJPO1PXFSFECZ#PLFI
 CZ#KÖSO.FJFS&VSP1ZUIPO w IUUQTQZWJEFPPSHFVSPQZUIPOOFUXPSLYWJTVBMJ[BUJPOQPXFSFECZ CPLFIIUNM

Slide 64

Slide 64 text

(SBQI3FOEFSFSొ৔લ !64 େมͳ఺ w ԁͱ௚ઢΛҰॹʹඳը͍ͯ͠Δ͚ͩͰɺ
 ಺෦తʹ͸άϥϑߏ଄͸͍࣋ͬͯͳ͍ w ԁʢϊʔυʣͷҐஔͱ௚ઢʢΤοδʣͷઌ୺ɾऴ୺ͷ
 ҐஔΛͦΕͧΕઃఆ͢Δඞཁ͕͋Δ ԁ $JSDMFʣͱઢ .VMUJ-JOF ͷ෦඼Λࣗ෼Ͱ഑ஔ͢Δ ྫ /FUXPSL97JTVBMJ[BUJPO1PXFSFECZ#PLFI
 CZ#KÖSO.FJFS&VSP1ZUIPO w IUUQTQZWJEFPPSHFVSPQZUIPOOFUXPSLYWJTVBMJ[BUJPOQPXFSFECZ CPLFIIUNM

Slide 65

Slide 65 text

(SBQI3FOEFSFSొ৔ޙ !65 CPLFIͱͯ͠ɺͪΌΜͱʮϊʔυͱΤοδΛ࣋ͭʯάϥϑߏ଄Λ ѻ͑ΔΑ͏ʹͳͬͨ w OPEF@SFOEFSFSଐੑɺFEHF@SFOEFSFSଐੑ w IUUQTCPLFIQZEBUBPSHFOMBUFTUEPDTSFGFSFODFNPEFMT SFOEFSFSTIUNM(SBQI3FOEFSFS خ͍͠఺ w Ґஔ৘ใΛ࣋ͭͷ͕ҰՕॴͰࡁΉ w MBZPVU@QSPWJEFSଐੑ w ϊʔυ΍ΤοδΛλοϓɾϗόʔ
 ͨ͠ͱ͖ͷΠϯλϥΫγϣϯ͕ྑ͍

Slide 66

Slide 66 text

GSPN@OFUXPSLYؔ਺ !66 /FUXPSL9ͷάϥϑߏ଄ OY(SBQI Λɺ #PLFIͷάϥϑߏ଄ʢ(SBQI3FOEFSFSʣʹม׵͢Δؔ਺ w IUUQTCPLFIQZEBUBPSHFOMBUFTUEPDTSFGFSFODFNPEFMTHSBQITIUNM

Slide 67

Slide 67 text

GSPN@OFUXPSLYؔ਺ !67 /FUXPSL9ͷάϥϑߏ଄ OY(SBQI Λɺ #PLFIͷάϥϑߏ଄ʢ(SBQI3FOEFSFSʣʹม׵͢Δؔ਺ w IUUQTCPLFIQZEBUBPSHFOMBUFTUEPDTSFGFSFODFNPEFMTHSBQITIUNM

Slide 68

Slide 68 text

GSPN@OFUXPSLYؔ਺ !68 /FUXPSL9ͷάϥϑߏ଄ OY(SBQI Λɺ #PLFIͷάϥϑߏ଄ʢ(SBQI3FOEFSFSʣʹม׵͢Δؔ਺ w IUUQTCPLFIQZEBUBPSHFOMBUFTUEPDTSFGFSFODFNPEFMTHSBQITIUNM

Slide 69

Slide 69 text

ϋϚΔϙΠϯτ ϥΠϒϥϦͷόʔδϣϯ ԁͷαΠζ࢓༷ͷҧ͍ ϊʔυଐੑΤοδଐੑͷม׵ CPLFI͸༗޲άϥϑ͸ඳըͰ͖ͳ͍ !69

Slide 70

Slide 70 text

ϥΠϒϥϦͷόʔδϣϯ !70 w ͲͪΒ΋࠷৽ͩͬͨΒ0, w #PLFIɺ/FUXPSL9 ࣌ظ ϥΠϒϥϦ όʔδϣϯ Πϕϯτ #PLFI άϥϑߏ଄αϙʔτ /FUXPSL9 ೥ͿΓͷ ϝδϟʔόʔδϣϯΞοϓ #PLFI /FUXPSL9ʹରԠ

Slide 71

Slide 71 text

ԁͷαΠζ࢓༷ͷҧ͍ !71 w /FUXPSL9
 ඳըؔ਺ OYESBX@OFUXPSLYͳͲ ͷ
 தͰNBUQMPUMJCΛ࢖͍ͬͯΔ
 αΠζࢦఆΛOഒʹ͢Δͱ
 ɹ໘ੵ͕OഒʹͳΔ w #PLFI ɹԁ $JSDMF ͷαΠζࢦఆΛOഒʹ͢Δͱ
 ɹ൒ܘ͕OഒʹͳΔ

Slide 72

Slide 72 text

ϊʔυଐੑΤοδଐੑͷม׵ /FUXPSL9Ͱ͸ɺ
 ϊʔυͱΤοδʹଐੑΛ࣋ͨͤΔ͜ͱ͕Ͱ͖Δ w TFU@OPEF@BUUSJCVUFTؔ਺ w TFU@FEHF@BUUSJCVUFTؔ਺

Slide 73

Slide 73 text

ϊʔυଐੑΤοδଐੑͷม׵ 5JUMF 4UZMF(VJEFGPS 1ZUIPO$PEF 4UBUVT "DUJWF 5ZQF 1SPDFTT $SFBUFE +VM 5JUMF ʜ 4UBUVT ʜ 5ZQF ʜ $SFBUFE ʜ 5JUMF ʜ 4UBUVT ʜ 5ZQF ʜ $SFBUFE ʜ

Slide 74

Slide 74 text

ϊʔυଐੑΤοδଐੑͷม׵ /FUXPSL9Ͱ͸ɺ
 ϊʔυͱΤοδʹଐੑΛ࣋ͨͤΔ͜ͱ͕Ͱ͖Δ w TFU@OPEF@BUUSJCVUFTؔ਺ w TFU@FEHF@BUUSJCVUFTؔ਺

Slide 75

Slide 75 text

ϊʔυଐੑΤοδଐੑͷม׵ GSPN@OFUXPSLYؔ਺Λ࢖ͬͯ /FUXPSL9͔Β#PLFIͷߏ଄ʹม׵ͯ͠΋ /FUXPSL9Ͱઃఆͨ͠ϊʔυͱΤοδͷଐੑ͸ #PLFIʹҾ͖ܧ͕Ε·ͤΜ #PLFI࣌఺ /FUXPSL9Ͱ͸ɺ
 ϊʔυͱΤοδʹଐੑΛ࣋ͨͤΔ͜ͱ͕Ͱ͖Δ w TFU@OPEF@BUUSJCVUFTؔ਺ w TFU@FEHF@BUUSJCVUFTؔ਺

Slide 76

Slide 76 text

ม׵ޙʹଐੑΛ࠶ઃఆ͢Δ /FUXPSL9ʹ͓͚Δϊʔυଐੑͷ࣋ͪํ ࣙॻͷࣙॻʣ \bQFQ`\b5JUMF`b4UZMF(VJEFGPS1ZUIPO$PEF` b4UBUVT`b"DUJWF` b5ZQF`b1SPDFTT` b$SFBUFE``+VM`^ bQFQ`\b5JUMF`b5IF;FOPG1ZUIPO` b4UBUVT`b"DUJWF` b5ZQF`b*OGPSNBUJPOBM` b$SFBUFE``"VH`^ bQFQ`\b5JUMF`b%PDTUSJOH$POWFOUJPOT` b4UBUVT`b"DUJWF` b5ZQF`b*OGPSNBUJPOBM` b$SFBUFE``.BZ`^ ϊʔυͷΩʔ ϊʔυͷଐੑ

Slide 77

Slide 77 text

ม׵ޙʹଐੑΛ࠶ઃఆ͢Δ #PLFIʹ͓͚Δϊʔυଐੑͷ࣋ͪํʢϦετͷࣙॻʣ \bJOEFY`<`QFQ` `QFQ` bQFQ`> b5JUMF` b4UBUVT` b5ZQF` b$SFBUFE`<`+VM` `"VH` `.BZ`> ^ ϊʔυͷଐੑ ϊʔυͷΩʔ

Slide 78

Slide 78 text

ม׵࠶ઃఆ͢Δίʔυɻɻɻ ϊʔυଐੑΛ
 OYCPLFIʹ
 ม׵ ϊʔυଐੑΛ CPLFIʹઃఆ ΤοδଐੑΛ
 OYCPLFIʹ ม׵ ΤοδଐੑΛ CPLFIʹઃఆ IUUQTHJUIVCDPNCPLFICPLFIJTTVFT

Slide 79

Slide 79 text

No content

Slide 80

Slide 80 text

No content

Slide 81

Slide 81 text

JTTVF13

Slide 82

Slide 82 text

JTTVF13 ࡢ೔ Ϛʔδ͞Εͨ

Slide 83

Slide 83 text

࣍ͷόʔδϣϯ Ͱ൓ө͞Ε·͢ IUUQTHJUIVCDPNCPLFICPLFIQVMM

Slide 84

Slide 84 text

༗޲άϥϑ͸ඳըͰ͖ͳ͍ ༗޲άϥϑ ແ޲άϥϑ l)PXUPESBXEJSFDUFEOFUXPSLHSBQIT z #PLFIͷϝʔϦϯάϦετ IUUQTHSPVQTHPPHMFDPNBDPOUJOVVNJPGPSVNNTFBSDIJO CPLFIOFUXPSLYCPLFI&BEU3ZF1"

Slide 85

Slide 85 text

ϋϚΔϙΠϯτ ϥΠϒϥϦͷόʔδϣϯ ԁͷαΠζ࢓༷ͷҧ͍ ϊʔυଐੑΤοδଐੑͷม׵ CPLFI͸༗޲άϥϑ͸ඳըͰ͖ͳ͍ !85

Slide 86

Slide 86 text

ΠϯλϥΫγϣϯͷ௥Ճ w͜ͷ͋ͨΓ͸ɺ/FUXPSL9ʹݶΒͳ͍CPLFIͷҰൠతͳ࿩ wζʔϜ΍ϗόʔૢ࡞ w$POpHVSJOH1MPU5PPM
 IUUQTCPLFIQZEBUBPSHFOMBUFTUEPDTVTFS@HVJEFUPPMTIUNM w΢ΟδΣοτΛઃஔ͢Δ w"EEJOH8JEHFUT
 IUUQTCPLFIQZEBUBPSHFOMBUFTUEPDTVTFS@HVJEFJOUFSBDUJPO XJEHFUTIUNMVTFSHVJEFJOUFSBDUJPOXJEHFUT wਤΛλοϓͯ͠ɺଞͷ΢ΟδΣοτͳͲͷදࣔΛมԽͤ͞Δ w+BWB4DSJQU$BMMCBDLT
 IUUQTCPLFIQZEBUBPSHFOMBUFTUEPDTVTFS@HVJEFJOUFSBDUJPO DBMMCBDLTIUNMVTFSHVJEFJOUFSBDUJPOKTDBMMCBDLT !86

Slide 87

Slide 87 text

ͲΜͳϢʔεέʔεͰ࢖͑ͦ͏ʁ w ՄࢹԽͷ݁ՌΛ8FC্Ͱָʹެ։͍ͨ͠ w +VQZUFS/PUFCPPL্Ͱ/FUXPSL9Λ࢖ͬͯ
 ࡞ۀ͍ͯ͠Δͱ͖ʹɺͬ͘͞ͱର࿩తͳՄࢹԽΛ͍ͨ͠ w ͦΜͳʹେ͖͘ͳ͍άϥϑߏ଄ʢϊʔυ਺,ະຬ w ·ͩൃల్্ײ͸͋Δ w 13ૹΓ͍ͨਓ͸ૂ͍໨ͩΑ !87

Slide 88

Slide 88 text

·ͱΊ w1&1ΛࣗྗͰಡΉͱ͖ʹָʹͳΔπʔϧ͕ཉ͍͠
 ͱ͍͏ಈػ͔Βɺ
 1&1ͷࢀরؔ܎ΛՄࢹԽ͢Δ׆ಈΛͯ͠·ͨ͠ wͦͷ׆ಈͷதͰ
 /FUXPSL9ͱ#PLFIΛ࢖ͬͯ
 ΠϯλϥΫςΟϒͳωοτϫʔΫՄࢹԽΛߦͬͨͷͰ
 ͦͷϊ΢ϋ΢Λ঺հ͠·ͨ͠ !88

Slide 89

Slide 89 text

1&1

Slide 90

Slide 90 text

#PLFI /FUXPSL9

Slide 91

Slide 91 text

͜Ε͔Β΋ࡉ͘௕͘ଓ͚·͢ !91 IUUQTHJUIVCDPNLPNPGSQFQ@NBQ@TJUF

Slide 92

Slide 92 text

!LPNP@GS

Slide 93

Slide 93 text

"QQFOEJY

Slide 94

Slide 94 text

1&1.BQc5JNFMJOF 1&1ͷࢀরؔ܎Λ࣌ܥྻܗࣜͰදࣔ IUUQTLPNPGSHJUIVCJPQFQ@NBQ@TJUFUJNFMJOFIUNM !94

Slide 95

Slide 95 text

1&1.BQc/FUXPSL 1&1ͷࢀরؔ܎ΛωοτϫʔΫਤͰදࣔ IUUQTLPNPGSHJUIVCJPQFQ@NBQ@TJUFOFUXPSLIUNM !95