Π Π°Π·Π½ΠΎΠ΅

Визуализация Π΄Π°Π½Π½Ρ‹Ρ… python: Π¨ΠΏΠ°Ρ€Π³Π°Π»ΠΊΠ° ΠΏΠΎ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² Python с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Plotly / Π₯Π°Π±Ρ€

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Π¨ΠΏΠ°Ρ€Π³Π°Π»ΠΊΠ° ΠΏΠΎ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² Python с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Plotly / Π₯Π°Π±Ρ€

Plotly β€” Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, состоящая ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… частСй:

  • Front-End Π½Π° JS
  • Back-End Π½Π° Python (Π·Π° основу взята Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Seaborn)
  • Back-End Π½Π° R

Π’ этой простынС всС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π½Ρ‹ ΠΎΡ‚ совсСм простых ΠΊ Π±ΠΎΠ»Π΅Π΅ слоТным, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ с ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ скучно. Π’Π°ΠΊ ΠΆΠ΅ эта Β«ΡˆΠΏΠ°Ρ€Π³Π°Π»ΠΊΠ°Β» Π½Π΅ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ Π½Π° 100% ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈΠ· Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

Извиняюсь Π·Π° Π·Π°ΠΌΡ‹Π»Π΅Π½Π½Ρ‹Π΅ gif’ΠΊΠΈ это происходит ΠΏΡ€ΠΈ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ ΠΈΠ· Π²ΠΈΠ΄Π΅ΠΎ, записанного с экрана.

Jupyter Notebook со всСми ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΈΠ· ΡΡ‚Π°Ρ‚ΡŒΠΈ:

ДокумСнтация

Π’Π°ΠΊ ΠΆΠ΅ Π½Π° Π±Π°Π·Π΅ plotly ΠΈ Π²Π΅Π±-сСрвСра Flask сущСствуСт ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для создания Π΄Π°ΡˆΠ±ΠΎΡ€Π΄ΠΎΠ² Dash.

  • Plotly β€” бСсплатная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² коммСрчСских цСлях
  • Plotly Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ offline
  • Plotly позволяСт ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

Π’. Π΅. с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Plotly ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΠΊ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ Β«Π½Π° Π»Π΅Ρ‚ΡƒΒ» (Π½Π΅ пСрСстраивая Π³Ρ€Π°Ρ„ΠΈΠΊ Π² matplotlib, измСняя ΠΌΠ°ΡΡˆΡ‚Π°Π±, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ/Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅), Ρ‚Π°ΠΊ ΠΈ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΎΡ‚Ρ‡Ρ‘Ρ‚ (Π΄Π°ΡˆΠ±ΠΎΡ€Π΄).

Для Π½Π°Ρ‡Π°Π»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, Ρ‚.ΠΊ. ΠΎΠ½Π° Π½Π΅ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π½ΠΈ Π² стандартный ΠΏΠ°ΠΊΠ΅Ρ‚, Π½ΠΈ Π² Anaconda. Для этого рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ pip:

pip install plotly

Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Jupyter Notebook, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ мэдТик «!», поставив Π΄Π°Π½Π½Ρ‹ΠΉ символ ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

!pip install plotly

ΠŸΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ. Π’ Ρ€Π°Π·Π½Ρ‹Ρ… частях ΡˆΠΏΠ°Ρ€Π³Π°Π»ΠΊΠΈ для Ρ€Π°Π·Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ Π½Π°ΠΌ понадобятся ΠΊΠ°ΠΊ основной ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, Ρ‚Π°ΠΊ ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, поэтому ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ инструкций ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° Ρƒ нас.

Π’Π°ΠΊ ΠΆΠ΅ Π½Π°ΠΌ понадобятся Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Pandas ΠΈ Numpy для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с сырыми Π΄Π°Π½Π½Ρ‹ΠΌΠΈ

Код ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ
import plotly

import plotly.graph_objs as go

import plotly. express as px

from plotly.subplots import make_subplots

import numpy as np

import pandas as pd

Π›ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊ

Начнём с простой Π·Π°Π΄Π°Ρ‡ΠΈ построСния Π³Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΏΠΎ Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌ.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ f(x)=x2

Π‘ΠΏΠ΅Ρ€Π²Π° поступим совсСм просто ΠΈ Β«Π² Π»ΠΎΠ±Β»:

  • Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π³Ρ€Π°Ρ„ΠΈΠΊ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ scatter ΠΈΠ· подмодуля plotly.express (Π²Π½ΡƒΡ‚Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΄ΠΈΠΌ 2 списка Ρ‚ΠΎΡ‡Π΅ΠΊ: ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ X ΠΈ Y)
  • Π’ΡƒΡ‚ ΠΆΠ΅ Β«ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌΒ» Π΅Π³ΠΎ с помозью ΠΌΠ΅Ρ‚ΠΎΠ΄Π° show()

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ β€” Π³Ρ€Π°Ρ„ΠΈΠΊ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ, Ссли навСсти Π½Π° Π½Π΅Π³ΠΎ курсор, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΅Π³ΠΎ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ°Ρ‚ΡŒ ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ, Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ участки, ΠΏΠΎ навСдСнию курсора Π½Π° Ρ‚ΠΎΡ‡ΠΊΡƒ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² исходноС ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π° ΠΏΡ€ΠΈ нСобходимости Β«ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ΠΈΡ‚ΡŒΒ» ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΊΠ°ΠΊ Ρ„Π°ΠΉΠ».

Всё это дСлаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ JS Π² вашСм Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅. А Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΏΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ этим ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΡƒΠΆΠ΅ послС построСния Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ (Π½ΠΎ ΠΌΡ‹ этого Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ, Ρ‚.ΠΊ. JS != Python)

Код

x = np. arange(0, 5, 0.1)
def f(x):
    return x**2

px.scatter(x=x, y=f(x)).show()

Π‘ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎ ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Π² ΠΊΠΎΠ΄ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Π²ΠΈΠ΄Π΅:

fig = px.scatter(x=x, y=f(x))
fig.show()

  • Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ Ρ„ΠΈΠ³ΡƒΡ€Ρƒ
  • РисуСм Π³Ρ€Π°Ρ„ΠΈΠΊ
  • ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Ρ„ΠΈΠ³ΡƒΡ€Ρƒ

2 строчки ΠΈ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. Π’.ΠΊ. ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Express. Быстро ΠΈ просто.

Но ΠΌΠ°Π»ΠΎΠ²Π°Ρ‚ΠΎ гибкости, поэтому ΠΌΡ‹ практичСски сразу ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΠΎΠΌΡƒ ΡƒΡ€ΠΎΠ²Π½ΡŽ β€” сразу создадим Ρ„ΠΈΠ³ΡƒΡ€Ρƒ ΠΈ нанСсём Π½Π° Π½Π΅Ρ‘ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹.

Π’Π°ΠΊ ΠΆΠ΅ сразу Π²Ρ‹Π²Π΅Π΄Π΅ΠΌ Ρ„ΠΈΠ³ΡƒΡ€Ρƒ для ΠΏΠΎΠΊΠ°Π·Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° show().

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Matplotlib ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ осСй Π½Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ, хотя ΠΌΡ‹ с Π½ΠΈΠΌΠΈ Π΅Ρ‰Ρ‘ столкнёмся, ΠΊΠΎΠ³Π΄Π° Π·Π°Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ нСсколько Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² вмСстС

fig = go.Figure()
#Π—Π΄Π΅ΡΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠΎΠ΄
fig.show()

Как Π²ΠΈΠ΄ΠΈΠΌ, ΠΏΠΎΠΊΠ° пусто.

Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊ Π½Π°ΠΌ понадобится ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ add_trace.

fig. add_trace(Π’Π£Π’_ВО_ЧВО_Π₯ОВИМ_ΠŸΠ•Π Π•Π”ΠΠ’Π¬_Π”Π›Π―_ΠžΠ’ΠžΠ‘Π ΠΠ–Π•ΠΠ˜Π―_И_Π“Π”Π•)

Но ЧВО ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ? Π“Ρ€Π°Ρ„ΠΈΠΊ ΠΏΠΎ Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌ. Π“Ρ€Π°Ρ„ΠΈΠΊ ΠΌΡ‹ ΡƒΠΆΠ΅ рисовали с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Scatter Π² ЭкспрСссС, Ρƒ ΠžΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π΅ΡΡ‚ΡŒ свой Scatter, Π΄Π°Π²Π°ΠΉΡ‚Π΅ глянСм Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ‚:

go.Scatter(x=x, y=f(x))


А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ объСдиним:

fig = go.Figure()
fig.add_trace(go.Scatter(x=x, y=f(x)))
fig.show()


Как Π²ΠΈΠ΄ΠΈΠΌ, отличия Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΊΠΎΠ΄Π΅, Π½ΠΎ ΠΈ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ β€” ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π°ΡΡŒ гладкая кривая.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‚Π°ΠΊΠΎΠΉ способ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π½Π°ΠΌ нанСсти Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΡ€ΠΈΠ²Ρ‹Ρ…, сколько ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ:

Код

fig = go.Figure()
fig.add_trace(go.Scatter(x=x, y=f(x)))
fig.add_trace(go.Scatter(x=x, y=x))
fig.show()

ΠŸΠΎΠ³ΠΎΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅? Π‘ΠΏΡ€Π°Π²Π° появилась Π΅Ρ‰Ρ‘ ΠΈ Π»Π΅Π³Π΅Π½Π΄Π°!

Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ, ΠΏΠΎΠΊΠ° Π³Ρ€Π°Ρ„ΠΈΠΊ Π±Ρ‹Π» ΠΎΠ΄ΠΈΠ½, Π·Π°Ρ‡Π΅ΠΌ Π½Π°ΠΌ Π»Π΅Π³Π΅Π½Π΄Π°?

Но магия Plotly Ρ‚ΡƒΡ‚ Π½Π΅ заканчиваСтся. НаТмитС Π½Π° Π»ΡŽΠ±ΡƒΡŽ ΠΈΠ· подписСй Π² Π»Π΅Π³Π΅Π½Π΄Π΅ ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊ исчСзнСт, Π° надпись станСт Π±ΠΎΠ»Π΅Π΅ Π±Π»Π΅Π΄Π½ΠΎΠΉ. 2$$’))
fig.add_trace(go.Scatter(x=x, y=x, name=’$$g(x)=x$$’))
fig.show()

К соТалСнию, это ΠΈΠΌΠ΅Π΅Ρ‚ свои ограничСния, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ подсказка ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊ отобраТаСтся Π² «сыром» Π²ΠΈΠ΄Π΅, Π° Π½Π΅ Π² LATEX.

ΠŸΠΎΠ±Π΅Π΄ΠΈΡ‚ΡŒ это ΠΌΠΎΠΆΠ½ΠΎ, Ссли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ HTML Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΡƒ Π² подписях. Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ я Π±ΡƒΠ΄Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅Π³ sup. Π’Π°ΠΊ ΠΆΠ΅ Π·Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΡˆΡ€ΠΈΡ„Ρ‚ для LATEX ΠΈ HTML отличаСтся Π½Π°Ρ‡Π΅Ρ€Ρ‚Π°Π½ΠΈΠ΅ΠΌ.

Код

fig = go.Figure()
fig.add_trace(go.Scatter(x=x, y=f(x), name='f(x)=x<sup>2</sup>'))
fig.add_trace(go.Scatter(x=x, y=x, name='$$g(x)=x$$'))
fig.show()

ΠžΠ±Π·ΠΎΡ€ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Python

Π•ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ способов построСния Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² Π½Π° Python, Π½ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ· Π½ΠΈΡ… Π»ΡƒΡ‡ΡˆΠ΅? Когда Π²Ρ‹ Π΄Π΅Π»Π°Π΅Ρ‚Π΅ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ, Π²Π°ΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ нСсколько вопросов ΠΎ Ρ†Π΅Π»ΠΈ построСния Π³Ρ€Π°Ρ„ΠΈΠΊΠ°: ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ Π»ΠΈ Π²Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ΅ прСдставлСниС Π²Π°ΡˆΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… для дальнСйшСго Π°Π½Π°Π»ΠΈΠ·Π°, ΠΈΠ»ΠΈ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ произвСсти Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ?

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я расскаТу ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… популярных ΠΏΠ°ΠΊΠ΅Ρ‚Π°Ρ… Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Python, ΠΈΡ… ΠΏΠ»ΡŽΡΠ°Ρ… ΠΈ минусах, Π° Ρ‚Π°ΠΊΠΆΠ΅ ситуациях, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³ΠΎΠ΄Π½ΠΎ ΠΏΡ€ΠΎΡΠ²ΠΈΡ‚ΡŒ сСбя. Π― Π²ΠΊΠ»ΡŽΡ‡Ρƒ Π² этот ΠΎΠ±Π·ΠΎΡ€ обсуТдСниС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Ρ… Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ², хотя ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· этих ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Ρ‚Π°ΠΊΠΆΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ 3D.

ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΡΡ‚Π°Ρ‚ΡŒΠΈ Β«Reviewing Python Visualization PackagesΒ», Π°Π²Ρ‚ΠΎΡ€ β€” Aaron Frederick, ссылка Π½Π° ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π» β€” Π² ΠΏΠΎΠ΄Π²Π°Π»Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ.

Matplotlib, Seaborn ΠΈ Pandas

Π― ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡΡŒ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΈΡ… Π² ΠΎΠ΄Π½Ρƒ Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΏΠΎ нСскольким ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ Seaborn ΠΈ Pandas Π±Ρ‹Π»ΠΈ построСны Π½Π° основС Matplotlib β€” ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Seaborn ΠΈΠ»ΠΈ df.plot() Π² Pandas, Π²Ρ‹ фактичСски ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ для построСния Matplotlib.Β Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, эстСтика для Π½ΠΈΡ… схоТа, ΠΈ настройка Π²Π°ΡˆΠΈΡ… Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

Когда я Π΄ΡƒΠΌΠ°ΡŽ ΠΎΠ± этих инструмСнтах Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, я Π΄ΡƒΠΌΠ°ΡŽ ΠΎ Ρ‚Ρ€Π΅Ρ… словах: ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ· Π΄Π°Π½Π½Ρ‹Ρ….Β Π­Ρ‚ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ подходят для ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ взгляда Π½Π° ваши Π΄Π°Π½Π½Ρ‹Π΅, Π½ΠΎ ΠΈΡ… Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π° Π΄Π΅Π»ΠΎ Π΄ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π΄ΠΎ ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.Β Matplotlib β€” это низкоуровнСвая Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, которая обСспСчиваСт нСвСроятныС ΡƒΡ€ΠΎΠ²Π½ΠΈ настройки (Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π½Π΅ стоит ΠΈΡΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π΅Π΅ ΠΊΠ°ΠΊ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ для ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ!), Но Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… инструмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅Π»Π°ΡŽΡ‚ Π²Π΅Π»ΠΈΠΊΠΎΠ»Π΅ΠΏΠ½ΡƒΡŽ Π³Ρ€Π°Ρ„ΠΈΠΊΡƒ, Π΄ΠΎΡΡ‚ΠΎΠΉΠ½ΡƒΡŽ ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‰Π΅. Β Matplotlib Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ набор стилСй,Β ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎ Π²Π½Π΅ΡˆΠ½Π΅ΠΌΡƒ ΡΡ‚ΠΈΠ»ΡŽ ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ популярныС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ggplot2 ΠΈ xkcd. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ², созданных с использованиСм Matplotlib ΠΈ Π΅Π³ΠΎ Π΄Π²ΠΎΡŽΡ€ΠΎΠ΄Π½Ρ‹Ρ… Π±Ρ€Π°Ρ‚ΡŒΠ΅Π².

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с датасСтом, содСрТащим Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ Π·Π°Ρ€ΠΏΠ»Π°Ρ‚Π΅ Π² баскСтболС, я Ρ…ΠΎΡ‚Π΅Π» Π½Π°ΠΉΡ‚ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅Π»ΠΈ самыС высокиС Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ срСднСй Π·Π°Ρ€ΠΏΠ»Π°Ρ‚Π΅.Β Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ это, я Π²Ρ‹Π²Π΅Π» Ρ†Π²Π΅Ρ‚ΠΎΠ²ΡƒΡŽ гистограмму с Π·Π°Ρ€ΠΏΠ»Π°Ρ‚ΠΎΠΉ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½ΠΈΠΆΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊ ΠΊΠ°ΠΊΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ слСдуСт ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅, которая Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠ»Π°Ρ‚ΠΈΡ‚.

import seaborn as sns
import matplotlib.pyplot as plt

color_order = ['xkcd:cerulean', 'xkcd:ocean',
'xkcd:black','xkcd:royal purple',
'xkcd:royal purple', 'xkcd:navy blue',
'xkcd:powder blue', 'xkcd:light maroon',
'xkcd:lightish blue','xkcd:navy']

sns.barplot(x=top10.Team,
y=top10.Salary,

ΠŸΡ€ΠΎΡΡ‚Π°Ρ гистограмма Π² matplotlib

Π­Ρ‚ΠΎΡ‚ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊ прСдставляСт собой Π³Ρ€Π°Ρ„ΠΈΠΊ Q-Q остатков рСгрСссионного экспСримСнта. Основная Ρ†Π΅Π»ΡŒ этой Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ β€” ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, сколько строк Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для создания ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π΄Π°ΠΆΠ΅ Ссли эстСтика Π½Π΅ ΡΠ½ΠΎΠ³ΡΡˆΠΈΠ±Π°Ρ‚Π΅Π»ΡŒΠ½Π°.

import matplotlib.pyplot as plt
import scipy.stats as stats

#model2 is a regression model
log_resid = model2.predict(X_test)-y_test
stats.probplot(log_resid, dist="norm", plot=plt)
plt.title("Normal Q-Q plot")
plt.show()

Π’ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ счСтС, Matplotlib ΠΈ Π΅Π³ΠΎ родствСнники ΠΎΡ‡Π΅Π½ΡŒ эффСктивны, Π½ΠΎ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠΌ Π² ΠΏΠ»Π°Π½Π΅ ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

ggplot (2)

Β«ΠŸΠΎΡ‡Π΅ΠΌΡƒ Ρ‚Ρ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΡˆΡŒ ΠΎ ggplot, самом популярном ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ R?Β Π Π°Π·Π²Π΅ это Π½Π΅ ΠΎΠ±Π·ΠΎΡ€ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² для Python? Β»- спроситС Π²Ρ‹.Β Π›ΡŽΠ΄ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ ggplot2 Π² Python, копируя всС ΠΎΡ‚ эстСтики Π΄ΠΎ синтаксиса. Он выглядит ΠΈ ощущаСтся ΠΊΠ°ΠΊ ggplot2, Π½ΠΎ с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ бонусом наличия зависимости ΠΎΡ‚ ΡƒΠΆΠ΅ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅ΠΉ вСрсии ΠΏΠ°ΠΊΠ΅Ρ‚Π° Pandas. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΠΠ‘Π’ΠžΠ―Π©Π˜Π™ ggplot Π² R (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ синтаксис ΠΈ внСшний Π²ΠΈΠ΄, Π½ΠΎ Π±Π΅Π· зависимостСй), я расскаТу ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅Π³ΠΎ прСимущСствах здСсь!Β Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Ссли Π²Ρ‹ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ggplot Π² Python, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Pandas вСрсии 0. 19.2, Π½ΠΎ я Π±Ρ‹ прСдостСрСг вас ΠΎΡ‚ пониТСния вСрсии вашСго Pandas.

Π’ Ρ‡Π΅ΠΌ ggplot2 (ΠΈ, я Π΄ΡƒΠΌΠ°ΡŽ, ggplot для Python) мСняСт ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΈΠ³Ρ€Ρ‹, Ρ‚Π°ΠΊ это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Β«Π“Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΡƒ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈΒ» для построСния Ρ„ΠΈΠ³ΡƒΡ€Ρ‹. Основная прСдпосылка Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ экзСмпляр своСго Π³Ρ€Π°Ρ„ΠΈΠΊΠ°, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊ Π½Π΅ΠΌΡƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚.Π΅. Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, оси, Ρ‚ΠΎΡ‡ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ линия Ρ‚Ρ€Π΅Π½Π΄Π° Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ со своими собствСнными эстСтичСскими свойствами. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° ggplot Π½Π° R.Β Π‘Π½Π°Ρ‡Π°Π»Π° ΠΌΡ‹ создаСм наш рисунок с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ggplot, устанавливаСм нашС ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΈ Π΄Π°Π½Π½Ρ‹Π΅, Π·Π°Ρ‚Π΅ΠΌ добавляСм Ρ‚ΠΎΡ‡ΠΊΠΈ, Ρ‚Π΅ΠΌΡƒ ΠΈ ΠΌΠ΅Ρ‚ΠΊΠΈ оси/Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°.

#All Salaries
ggplot(data=df, aes(x=season_start, y=salary, colour=team)) +
geom_point() +
theme(legend.position="none") +
labs(title = 'Salary Over Time', x='Year', y='Salary ($)')

Bokeh

Bokeh это красиво.Β ΠšΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° ggplot Π² Ρ‚ΠΎΠΌ,Ρ‡Ρ‚ΠΎ ΠΎΠ½ Ρ‚ΠΎΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΡƒ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ для структурирования своих Ρ„ΠΈΠ³ΡƒΡ€. Bokeh ΠΈΠΌΠ΅Π΅Ρ‚ простой Π² использовании интСрфСйс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаСт ΠΎΡ‡Π΅Π½ΡŒ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΏΠ°Π½Π΅Π»ΠΈ.Β Π§Ρ‚ΠΎΠ±Ρ‹Β ΠΏΡ€ΠΎΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΒ ΠΌΠΎΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ зрСния (ΠΈΠ·Π²ΠΈΠ½ΠΈΡ‚Π΅!), НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° для создания гистограммы ΠΈΠ· Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ… 538 Masculinity Survey.

import pandas as pd
from bokeh.plotting import figure
from bokeh.io import show

# is_masc is a one-hot encoded dataframe of responses to the question:
# "Do you identify as masculine?"

#Dataframe Prep
counts = is_masc.sum()
resps = is_masc.columns

#Bokeh
p2 = figure(title='Do You View Yourself As Masculine?',
          x_axis_label='Response',
          y_axis_label='Count',
          x_range=list(resps))
p2.vbar(x=resps, top=counts, width=0.6, fill_color='red', line_color='black')
show(p2)

#Pandas
counts.plot(kind='bar')

Гистограмма Π² Bokeh

Гистограмма ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° вопрос Β«Π’Ρ‹ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ сСбя ΠΊΠ°ΠΊ муТского ΠΏΠΎΠ»Π°?Β», ΠΊΠ°ΠΊ Π±Ρ‹Π»ΠΎ Π·Π°Π΄Π°Π½ΠΎ Π² Π½Π΅Π΄Π°Π²Π½Π΅ΠΌ опросС (538 Masculinity Survey). Код Bokeh создаСт ΡΠ»Π΅Π³Π°Π½Ρ‚Π½ΡƒΡŽ ΠΈ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΡƒΡŽ гистограмму подсчСта ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² с Ρ€Π°Π·ΡƒΠΌΠ½Ρ‹ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ ΡˆΡ€ΠΈΡ„Ρ‚Π°, засСчками ΠΏΠΎ осям ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. Β Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я написал, Π±Ρ‹Π»Π° посвящСна ΠΌΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²ΠΊΠ΅ осСй ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠ΄Π°Π½ΠΈΡŽ столбцам Ρ†Π²Π΅Ρ‚Π° ΠΈ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹. ДСлая красивыС, ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΠΈΠ³ΡƒΡ€Ρ‹, я ΠΎΡ‡Π΅Π½ΡŒ сильно склоняюсь ΠΊ Bokeh β€” ΠΌΠ½ΠΎΠ³ΠΎ эстСтичСской Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΡƒΠΆΠ΅ сдСлано для нас!

Π’Π° ΠΆΠ΅ гистограмма ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² Pandas

Π‘ΠΈΠ½ΠΈΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊ β€” это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ происходит ΠΈΠ· СдинствСнной послСднСй строки ΠΈΠ· ΠΊΠΎΠ΄Π° Π²Ρ‹ΡˆΠ΅. ОбС гистограммы ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ значСния, Π½ΠΎ слуТат Ρ€Π°Π·Π½Ρ‹ΠΌ цСлям.Β Π’ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ обстановкС Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ строку Π² Pandas, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, Π½ΠΎ эстСтика Bokeh явно явно Π»ΡƒΡ‡ΡˆΠ΅. КаТдоС удобство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ обСспСчиваСт Bokeh ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ настройки Π² matplotlib, Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ ΡƒΠ³ΠΎΠ» налоТСния ΠΌΠ΅Ρ‚ΠΎΠΊ вдоль Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ оси, Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Π΅ Π»ΠΈΠ½ΠΈΠΈ, разброс Π΄Π΅Π»Π΅Π½ΠΈΠΉ ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ оси, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΡˆΡ€ΠΈΡ„Ρ‚Π°/Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ курсивом/Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΆΠΈΡ€Π½Ρ‹ΠΌ ΠΈ Ρ‚.Π΄.

На ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ нСсколько случайных Ρ‚Ρ€Π΅Π½Π΄ΠΎΠ² с использованиСм Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… настроСк с Π»Π΅Π³Π΅Π½Π΄Π°ΠΌΠΈ ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π»ΠΈΠ½ΠΈΠΉ ΠΈ Ρ†Π²Π΅Ρ‚Π°ΠΌΠΈ:

Π’Ρ€Π΅Π½Π΄Ρ‹ с Π»Π΅Π³Π΅Π½Π΄ΠΎΠΉ Π² Bokeh

Bokeh Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ инструмСнт для создания ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² (dashboards). Β Π― Π½Π΅ Ρ…ΠΎΡ‡Ρƒ Π²Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ Π² этом постС, Π½ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Π΅ посты (Π²Ρ€ΠΎΠ΄Π΅ этого), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ большС Ρ€Π°ΡΡΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² Π² Bokeh.

Plotly

Plotly Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ, Π½ΠΎ настройка ΠΈ созданиС Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² Π² Π½Π΅ΠΌ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΈ эта настройка Π½Π΅ являСтся ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятной.Β ΠŸΡ€ΠΎΠ²Π΅Π΄Ρ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΡƒΡ‚Ρ€Π°, работая с Plotly, я пошСл Π½Π° ΠΎΠ±Π΅Π΄, ΠΏΠΎΡ‡Ρ‚ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π² Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅.Β Π― создал гистограмму Π±Π΅Π· ΠΌΠ΅Ρ‚ΠΎΠΊ Π½Π° осях ΠΈ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ рассСяния, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±Ρ‹Π»ΠΈ Π»ΠΈΠ½ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я Π½Π΅ ΠΌΠΎΠ³ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ. НСкоторыС Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹Π΅ минусы ΠΏΡ€ΠΈ Π½Π°Ρ‡Π°Π»Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Plotly:

  • ВрСбуСтся ΠΊΠ»ΡŽΡ‡ API ΠΈ рСгистрация, Π° Π½Π΅ просто установка Ρ‡Π΅Ρ€Π΅Π· pip
  • Он строит Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…/слоСв (layouts), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ для Plotly ΠΈ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятными
  • Π‘Π»ΠΎΠΉ Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ Ρƒ мСня Π½Π΅ сработал (40 строк ΠΊΠΎΠ΄Π° Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ!)

Однако для всСх Π΅Π³ΠΎ нСдостатков настройки Π΅ΡΡ‚ΡŒ свои ΠΏΠ»ΡŽΡΡ‹ ΠΈ ΠΎΠ±Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ:

  • Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ Π½Π° Π²Π΅Π±-сайтС Plotly, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² срСдС Python.
  • Много Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ²/ΠΏΠ°Π½Π΅Π»Π΅ΠΉ
  • Plotly сотрудничаСт с Mapbox, Ρ‡Ρ‚ΠΎ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠ°Ρ€Ρ‚Ρ‹
  • ΠŸΠΎΡ‚Ρ€ΡΡΠ°ΡŽΡ‰ΠΈΠΉ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π» для ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ

Для мСня Π±Ρ‹Π»ΠΎ Π±Ρ‹ нСсправСдливо просто Π²Ρ‹ΡΠΊΠ°Π·Π°Ρ‚ΡŒ свои ΠΏΡ€Π΅Ρ‚Π΅Π½Π·ΠΈΠΈ ΠΊ Plotly, Π½Π΅ показывая ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΊΠΎΠ΄ ΠΈ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ я смог Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ сдСлали люди, Π±ΠΎΠ»Π΅Π΅ способныС с этим ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ.

#plot 1 - barplot
# **note** - the layout lines do nothing and trip no errors
data = [go.Bar(x=team_ave_df.team,
  y=team_ave_df.turnovers_per_mp)]

layout = go.Layout(

title=go.layout.Title(
  text='Turnovers per Minute by Team',
  xref='paper',
  x=0
),

xaxis=go.layout.XAxis(
  title = go.layout.xaxis.Title(
    text='Team',
    font=dict(
      family='Courier New, monospace',
      size=18,
      color='#7f7f7f'
    )
  )
),

yaxis=go.layout.YAxis(
  title = go.layout.yaxis.Title(
    text='Average Turnovers/Minute',
    font=dict(
      family='Courier New, monospace',
      size=18,
      color='#7f7f7f'
    )
  )
),

autosize=True,
hovermode='closest')

py. iplot(figure_or_data=data, layout=layout, filename='jupyter-plot', sharing='public', fileopt='overwrite')

#plot 2 - attempt at a scatterplot
data = [go.Scatter(x=player_year.minutes_played,
y=player_year.salary,
marker=go.scatter.Marker(color='red',
size=3))]

layout = go.Layout(title="test",
xaxis=dict(title='why'),
yaxis=dict(title='plotly'))

py.iplot(figure_or_data=data, layout=layout, filename='jupyter-plot2', sharing='public')

Гистограмма, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ срСднСС количСство ΠΎΠ±ΠΎΡ€ΠΎΡ‚ΠΎΠ² Π² ΠΌΠΈΠ½ΡƒΡ‚Ρƒ Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π±Π°ΡΠΊΠ΅Ρ‚Π±ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° создания Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ рассСяния, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ Π·Π°Ρ€ΠΏΠ»Π°Ρ‚Ρƒ ΠΊΠ°ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈΠ³Ρ€Ρ‹ Π² баскСтбол

Π’ Ρ†Π΅Π»ΠΎΠΌ, эстСтика ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ выглядит Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Π½ΠΎ многочислСнныС ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΊΠΈ осСй, дословно ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ, Π½Π΅ Π΄Π°Π»ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Однако, ΠΊΠ°ΠΊ я ΠΈ ΠΎΠ±Π΅Ρ‰Π°Π» Ρ€Π°Π½Π΅Π΅, Π²ΠΎΡ‚ нСсколько Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ², Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π» Plotly ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ стоит ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ большС Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… часов:

ΠŸΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π» Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² Π² Plotly

Pygal

Pygal β€” Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΅ извСстный ΠΏΠ°ΠΊΠ΅Ρ‚ для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, ΠΊΠ°ΠΊ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ популярныС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΡƒ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ для построСния своих ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Β Π­Ρ‚ΠΎ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ простой ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ всС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅. ИспользованиС Pygal ΠΎΡ‡Π΅Π½ΡŒ простоС:

  1. Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ холста
  2. Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² рисунка с использованиСм Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ²
  3. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΊ своСй Ρ„ΠΈΠ³ΡƒΡ€Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ figure.add()

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρƒ мСня Π±Ρ‹Π»ΠΈ с Pygal, Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π»ΠΈΡΡŒ Π² Ρ€Π΅Π½Π΄Π΅Ρ€Π΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ². МнС ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ render_to_file, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ этот Ρ„Π°ΠΉΠ» Π² Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ я построил.Β Π’ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ это Ρ‚ΠΎΠ³ΠΎ стоило, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΡ€ΠΈΡΡ‚Π½ΡƒΡŽ ΠΈ Π»Π΅Π³ΠΊΠΎ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Π΅ΠΌΡƒΡŽ эстСтику.Β Π’ Ρ†Π΅Π»ΠΎΠΌ, ΠΏΠ°ΠΊΠ΅Ρ‚ каТСтся Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ, Π½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ особСнности создания/Ρ€Π΅Π½Π΄Π΅Ρ€Π° Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ Π΅Π³ΠΎ ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

Networkx

Networkx β€” ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π³Ρ€Π°Ρ„ΠΎΠ², хотя Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΎΠ½ΠΎ основано Π½Π° matplotlib.Β Π“Ρ€Π°Ρ„Ρ‹ ΠΈ сСти β€” это Π½Π΅ моя прСдмСтная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, Π½ΠΎ Networkx позволяСт быстро ΠΈ Π»Π΅Π³ΠΊΠΎ графичСски ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ сСти.  НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ нСсколько Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… прСдставлСний простого Π³Ρ€Π°Ρ„Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я построил, ΠΈ ΠΊΠΎΠ΄, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΉ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ

Π›ΡƒΡ‡ΡˆΠΈΠ΅ инструмСнты Python ETL — Python 3 | Data Science | НСйронныС сСти | AI

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ страницы

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ETL

ETL являСтся сСрдцСм любого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π΄Π°Π½Π½Ρ‹Ρ…. Π›ΡŽΠ±ΠΎΠΉ ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π΄Π°Π½Π½Ρ‹Ρ… Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² сСбя ΠΏΡ€ΠΈΠ΅ΠΌ ΠΈ/ΠΈΠ»ΠΈ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ большого количСства Π΄Π°Π½Π½Ρ‹Ρ… (Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ), Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ для своСго ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ использования. К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ для профСссионалов Π² области Π΄Π°Π½Π½Ρ‹Ρ…, сообщСство Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Python создало ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ спСктр инструмСнтов с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅Π»Π°ΡŽΡ‚ ETL ΠΏΡ€ΠΎΡ‰Π΅. Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΎΠ±Π·ΠΎΡ€ Π»ΡƒΡ‡ΡˆΠΈΡ… инструмСнтов Python ETL, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π’Π°ΠΌ ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ, ΠΎΡ‡ΠΈΡ‰Π°Ρ‚ΡŒ ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ваши Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ (Π² Π½ΡƒΠΆΠ½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅). НСкоторыС ΠΈΠ· этих ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Π°ΠΌ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ шагом процСсса ETL, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠΈ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ этапС ETL процСсса. Π’ любом случаС, Π²Ρ‹ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅ ΠΈΠ· ΡΡ‚Π°Ρ‚ΡŒΠΈ.

Apache Airflow

Apache Airflow (ΠΈΠ»ΠΈ просто Airflow) β€” это ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° для создания, планирования ΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов.

Когда Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ процСссы ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΊΠΎΠ΄, ΠΎΠ½ΠΈ становятся Π±ΠΎΠ»Π΅Π΅ понятными, управляСмыми, тСстируСмыми ΠΏΡ€ΠΈ совмСстной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Airflow для создания Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов Π² Π²ΠΈΠ΄Π΅ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… ацикличСских Π³Ρ€Π°Ρ„ΠΎΠ² (DAG) Π·Π°Π΄Π°Ρ‡. ΠŸΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ Airflow выполняСт ваши Π·Π°Π΄Π°Ρ‡ΠΈ, слСдуя ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ зависимостям. Π‘ΠΎΠ³Π°Ρ‚Ρ‹Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Π΄Π΅Π»Π°ΡŽΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ слоТных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π° DAG ΠΏΡ€ΠΎΡ‰Π΅. Π‘ΠΎΠ³Π°Ρ‚Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс позволяСт Π»Π΅Π³ΠΊΠΎ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Ρ‹, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ Π½Π° производствС, ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ прогрСсс ΠΈ ΡƒΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΡ€ΠΈ нСобходимости.

Apache Spark & PySpark

Spark β€” это ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Π°Ρ ΠΈ Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ кластСрная Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°. Spark тСхничСски Π½Π΅ являСтся инструмСнтом Python, Π½ΠΎ API PySpark позволяСт Π»Π΅Π³ΠΊΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ задания Spark Π² вашСм workflow для Python.

PySpark ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для создания ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ΠΎΠ² машинного обучСния ΠΈ создания ETL для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½Ρ‹Ρ…. Π’ PySpark встроСны всСвозмоТныС инструмСнты для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ прСобразования Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈ ΠΎΠ½ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ выполнСния вычислСний, поэтому Π΄Π°ΠΆΠ΅ большиС задания ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΎΡ‡Π΅Π½ΡŒ быстро. Он прСкрасно ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ для Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Π° Ρ€Π°Π±ΠΎΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· API PySpark позволяСт Π²Π°ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΉ, Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ совмСстный ΠΊΠΎΠ΄ для Π²Π°ΡˆΠΈΡ… Π·Π°Π΄Π°Π½ΠΈΠΉ ETL. РассмотритС PySpark, Ссли Π²Π°ΠΌ Π²Π°ΠΆΠ½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈ объСм Π΄Π°Π½Π½Ρ‹Ρ… Π² Π²Π°ΡˆΠΈΡ… расчСтах.

ΠžΠ±Π·ΠΎΡ€ Spark

Apache Spark β€” это молниСносная срСда ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Он выполняСт вычислСния Π² памяти для Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ стал ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Apache Hadoop MapReduce выполнял Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈ Π½Π΅ ΠΈΠΌΠ΅Π» Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π±Ρ‹Π» прСдставлСн Apache Spark, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ.

Помимо ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Apache Spark ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ запросы ΠΈ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. Apache Spark ΠΈΠΌΠ΅Π΅Ρ‚ свой собствСнный ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ кластСров, Π³Π΄Π΅ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ своС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Apache Hadoop для хранСния ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ HDFS (Hadoop Distributed File system β€” Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму Hadoop) для хранСния ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ прилоТСния Spark Π½Π° YARN.

PySpark β€” ΠžΠ±Π·ΠΎΡ€

Apache Spark написан Π½Π° языкС программирования Scala. Для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Python с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Spark сообщСство Apache Spark выпустило инструмСнт PySpark. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ PySpark, Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с RDD Π½Π° языкС программирования Python. ИмСнно благодаря Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Py4j ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ этого.

PySpark ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ PySpark Shell, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ связываСт Python API с ядром Spark ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ контСкст Spark. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ исслСдоватСлСй Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΎΠ² сСгодня ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Python ΠΈΠ·-Π·Π° Π΅Π³ΠΎ Π±ΠΎΠ³Π°Ρ‚ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ Python с Spark являСтся Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ для Π½ΠΈΡ….

SparkContext β€” это Ρ‚ΠΎΡ‡ΠΊΠ° Π²Ρ…ΠΎΠ΄Π° Π² Π»ΡŽΠ±ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Spark. Когда ΠΌΡ‹ запускаСм любоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Spark, запускаСтся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°, которая выполняСт ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΈ здСсь запускаСтся ваш SparkContext. Π—Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° запускаСт ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ исполнитСлСй Π½Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… ΡƒΠ·Π»Π°Ρ…. SparkContext ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Py4J для запуска JVM ΠΈ создаСт JavaSparkContext.

petl

petl β€” это ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ Python для извлСчСния, прСобразования ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ‚Π°Π±Π»ΠΈΡ† Π΄Π°Π½Π½Ρ‹Ρ….
petl β€” это ΠΏΠ°ΠΊΠ΅Ρ‚ Python для ETL (ΠΎΡ‚ΡΡŽΠ΄Π° ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ β€˜petl’). Как ΠΈ Π² случаС с Pandas, petl позволяСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π² Python, извлСкая ΠΈΡ… ΠΈΠ· Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… источников Π΄Π°Π½Π½Ρ‹Ρ… (csv, xls, html, txt, json ΠΈ Ρ‚.Π΄.). И записывая ΠΈΡ… Π² Π²Ρ‹Π±Ρ€Π°Π½Π½ΡƒΡŽ Π²Π°ΠΌΠΈ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ хранСния. Π£ petl ΠΌΠ½ΠΎΠ³ΠΎ Ρ‚Π΅Ρ… ΠΆΠ΅ возмоТностСй, Ρ‡Ρ‚ΠΎ ΠΈ Ρƒ pandas, Π½ΠΎ ΠΎΠ½ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ETL ΠΈ Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ встроСнных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·Π°, поэтому ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ΄ΠΎΠΉΡ‚ΠΈ Π’Π°ΠΌ, Ссли Π²Ρ‹ заинтСрСсованы ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π² ETL.

Π­Ρ‚ΠΎΡ‚ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ для удобства ΠΈ простоты использования, особСнно ΠΏΡ€ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π½Π΅Π·Π½Π°ΠΊΠΎΠΌΡ‹ΠΌΠΈ, Π½Π΅ΠΎΠ΄Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹ΠΌΠΈ ΠΈ/ΠΈΠ»ΠΈ ΡΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹ΠΌΠΈ ΠΏΠΎ качСству Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡ petl минимально ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΡΠΈΡΡ‚Π΅ΠΌΠ½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΄ΠΎ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² строк, Ссли ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π½Π΅ являСтся ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠΌ. Однако, Ссли Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с ΠΎΡ‡Π΅Π½ΡŒ большими Π½Π°Π±ΠΎΡ€Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ/ΠΈΠ»ΠΈ прилоТСниями, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… критичСски Π²Π°ΠΆΠ½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Ρ‚ΠΎ рассмотритС Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, см. Pandas, pytables, bcolz ΠΈ blaze.

Panoply

Panoply спроСктирован, ΠΊΠ°ΠΊ ΠΏΠΎΠ»Π½ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для хранСния Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Panoply ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ETL ΠΎΡ‡Π΅Π½ΡŒ просто. Panoply ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ шаг процСсса, упрощая ΠΏΡ€ΠΈΠ΅ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· любого источника Π΄Π°Π½Π½Ρ‹Ρ… (ΠΎΡ‚ CSV Π΄ΠΎ Amazon S3-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² ΠΈ Π΄ΠΎ Google Analytics).

https://panoply.io/docs/collect-data/python-sdk/ β€” Python SDK Π½Π° основС SQS для ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Panoply. Π­Ρ‚ΠΎΡ‚ SDK Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ для создания Π²Π°ΡˆΠΈΡ… собствСнных источников Π΄Π°Π½Π½Ρ‹Ρ….

Pandas

Если Π²Ρ‹ использовали Python для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Π²Ρ‹, вСроятно, Π·Π½Π°ΠΊΠΎΠΌΡ‹ с pandas, инструмСнтариСм для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½Ρ‹Ρ…. Если Π½Π΅Ρ‚, Ρ‚ΠΎ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°Π·ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎ pandas. Π­Ρ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° позволяСт Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π² Python Ρ„Ρ€Π΅ΠΉΠΌΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² стилС R, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, очистку ΠΈ Π°Π½Π°Π»ΠΈΠ· Π΄Π°Π½Π½Ρ‹Ρ… Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΏΡ€ΠΎΡ‰Π΅, Ρ‡Π΅ΠΌ Π² сыром Python. Как инструмСнт ETL, pandas ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ шаг процСсса, позволяя ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² хранСния ΠΈ быстро ΠΈ Π»Π΅Π³ΠΊΠΎ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² памяти. Когда Π²Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Pandas с Π»Π΅Π³ΠΊΠΎΡΡ‚ΡŒΡŽ Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚ Π’Π°Ρˆ DataFrame Π² CSV, Microsoft Excel ΠΈΠ»ΠΈ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… SQL.

Pandas Python For Data Science cheat sheet

Bubbles

Bubbles β€” это популярная срСда Python ETL, которая позволяСт Π»Π΅Π³ΠΊΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ETL-ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Ρ‹. Bubbles написана Π½Π° Python, Π½ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ нСзависимой ΠΎΡ‚ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. Он настроСн для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… β€” прСдставлСниями Π½Π°Π±ΠΎΡ€ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, ΡΠ²Π»ΡΡŽΡ‰ΠΈΡ…ΡΡ ETL, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠ°ΠΊΡΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π΅ ETL ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Если Π² вашСм ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π΅ ETL ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ·Π»ΠΎΠ² с ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ, зависящим ΠΎΡ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°, Bubbles ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ‚Π°Ρ‚ΡŒ вашим Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ. Однако Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ github Π½Π΅ развивался Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ с 2015 Π³ΠΎΠ΄Π°, поэтому Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌΠΈ.

Bonobo (Π‘ΠΎΠ½ΠΎΠ±ΠΎ)

Bonobo β€” это облСгчСнная ETL-инфраструктура с ΠΊΠΎΠ΄ΠΎΠΌ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ для Python. Он ΠΈΠΌΠ΅Π΅Ρ‚ инструмСнты для построСния ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ нСсколько источников Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ, ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ SQLAlchemy (Π² настоящСС врСмя Π² Π°Π»ΡŒΡ„Π°-вСрсии), ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ позволяСт ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ваш ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΊ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… SQL. Bonobo спроСктирован Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ Π±Ρ‹Π»ΠΎ Π»Π΅Π³ΠΊΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ, содСрТит UNIX-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡƒΡŽ Π°Ρ‚ΠΎΠΌΠ½ΡƒΡŽ структуру для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ процСсса прСобразования (КаТдоС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ, ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ, Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΡƒΡŽ Ρ†Π΅Π»ΡŒ). Π­Ρ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ доступна для всСх, ΠΊΡ‚ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ владСния Python, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° процСсса ETL, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π»Π΅Π³ΠΊΠΎ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ ваш процСсс.

BonoboΒ β€” это облСгчСнная  срСда Extract-Transform-LoadΒ (ETL) для Python 3.5+.Β 
Он прСдоставляСт инструмСнты для построСния ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ΠΎΠ² прСобразования Π΄Π°Π½Π½Ρ‹Ρ…, использования простых ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ² Python ΠΈ ΠΈΡ… ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ выполнСния.
BonoboΒ β€”Β ΡˆΠ²Π΅ΠΉΡ†Π°Ρ€ΡΠΊΠΈΠΉ армСйский ноТ для повсСднСвных Π΄Π°Π½Π½Ρ‹Ρ….

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ встроСнныС экстракторы (CSV, JSON, XML, XLS, …), ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ дополнСния (SQL).

Π•ΡΡ‚ΡŒ встроСнныС классы для прСобразования Π΄Π°Π½Π½Ρ‹Ρ….

Luigi Π›ΡƒΠΈΠ΄ΠΆΠΈ

Luigi β€” это ΠΏΠ°ΠΊΠ΅Ρ‚ Python с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ Spotify. Он Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΌΠΈ процСссами, поэтому ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ, выходящиС Π΄Π°Π»Π΅ΠΊΠΎ Π·Π° Ρ€Π°ΠΌΠΊΠΈ ETL, Π½ΠΎ ΠΎΠ½ Ρ‚Π°ΠΊΠΆΠ΅ Π΄Π΅Π»Π°Π΅Ρ‚ ETL довольно Ρ…ΠΎΡ€ΠΎΡˆΠΎ. Luigi поставляСтся с Π²Π΅Π±-интСрфСйсом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ зависимости. ΠšΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΎΠ½ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° GNU Make, Π½ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Hadoop (хотя ΠΈ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ Hadoop). Luigi ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ вашим ETL-инструмСнтом, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ большиС ΠΈ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ задания ΠΏΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ просто Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ.

Odo β€” Одо

Odo β€” это ΠΏΠ°ΠΊΠ΅Ρ‚ Python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ². ПослС установки Odo прСдоставляСт Π΅Π΄ΠΈΠ½ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ структурами Π² памяти (списки, пустыС массивы, dataframes pandas ΠΈ Ρ‚.Π΄.), Π€ΠΎΡ€ΠΌΠ°Ρ‚Π°ΠΌΠΈ хранСния (CSV, JSON, HDF5 ΠΈ Ρ‚.Π΄.) И ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Postgres ΠΈ Hadoop. Odo сконфигурирован для использования собствСнных возмоТностСй Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ этих CSV-Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ быстрСС, Ρ‡Π΅ΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ чистый Python. Один ΠΈΠ· тСстов Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Pandas Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² 11 Ρ€Π°Π· ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Ρ‡Π΅ΠΌ самый ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ CSV-to-SQL. Если Π²Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· CSV Π² Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… SQL, Odo ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ для вас инструмСнтом ETL.

etlalchemy

etlalchemy β€” это Π»Π΅Π³ΠΊΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ Python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ управляСт ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠ΅ΠΉ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… SQL. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Π±Ρ‹Π» Π·Π°Π΄ΡƒΠΌΠ°Π½, ΠΊΠΎΠ³Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ понял, Ρ‡Ρ‚ΠΎ большая Ρ‡Π°ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… Π΅Π³ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ хранится Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Oracle 9i, которая Π½Π΅ поддСрТиваСтся с 2010 Π³ΠΎΠ΄Π°. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° etlalchemy Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° для упрощСния ΠΈ ускорСния ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ рСляционными Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚Π°ΠΌΠΈ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, прСдостСрСТСниС: этот ΠΏΠ°ΠΊΠ΅Ρ‚ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Windows ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ Π² ​​MSSQL, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΡƒΠ΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π΅Ρ‰Π΅, Ссли ваш Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Windows ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Azure.

mETL

mETL β€” это инструмСнт Python ETL, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ автоматичСски создаСт Ρ„Π°ΠΉΠ» Yaml для извлСчСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… SQL. ΠœΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΡˆΠΈΡ€ΠΎΠΊΠΈΠΌ спСктром источников Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ†Π΅Π»Π΅ΠΉ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ стандартныС плоскиС Ρ„Π°ΠΉΠ»Ρ‹, Google Sheets ΠΈ ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ SQL (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Microsoft SQL Server). НСдавниС обновлСния прСдоставили Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Π²ΠΈΠΊΠΈ для ΠΎΠ±Ρ…ΠΎΠ΄Π° Π·Π°ΠΌΠ΅Π΄Π»Π΅Π½ΠΈΠΉ, Π²Ρ‹Π·Π²Π°Π½Π½Ρ‹Ρ… Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°ΠΌΠΈ Python SQL, поэтому этот ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π°ΠΌ ΠΏΠΎΠ»Π΅Π·Π΅Π½, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ваш процСсс ETL Π±Ρ‹Π» ΠΏΠΎΡ…ΠΎΠΆ Π½Π° Python, Π½ΠΎ быстрСС.

Open Semantic ETL

Open Semantic ETL β€” это ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Python с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ для управлСния ETL, особСнно ΠΈΠ· большого количСства ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Π˜Π½Ρ„Ρ€Π°ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° позволяСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ†Π΅Π»Ρ‹Π΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ², Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… надстроСк (Π² Ρ‚ΠΎΠΌ числС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ OCR для особСнно слоТных PDF-Ρ„Π°ΠΉΠ»ΠΎΠ²) ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΈΡ… Π² Π²Ρ‹Π±Ρ€Π°Π½Π½ΡƒΡŽ Π²Π°ΠΌΠΈ Ρ€Π΅Π»ΡΡ†ΠΈΠΎΠ½Π½ΡƒΡŽ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ….

Mara

Mara β€” это Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Python, которая сочСтаСт Π² сСбС ΠΎΠ±Π»Π΅Π³Ρ‡Π΅Π½Π½ΡƒΡŽ срСду ETL с Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΌ Π²Π΅Π±-интСрфСйсом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² любоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Flask. Как ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, описанныС здСсь, Mara позволяСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Ρ‹ для извлСчСния ΠΈ пСрСноса Π΄Π°Π½Π½Ρ‹Ρ…. Mara ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ PostgreSQL Π² качСствС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ прСимущСства многопроцСссорного ΠΏΠ°ΠΊΠ΅Ρ‚Π° Python для ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π½ΠΎΠ³ΠΎ выполнСния. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ Π΅Π³ΠΎ ΠΊΠ°ΠΊ Β«Π½Π° ΠΏΠΎΠ»ΠΏΡƒΡ‚ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ простыми сцСнариями ΠΈ Apache AirflowΒ», поэтому, Ссли Π²Ρ‹ ΠΈΡ‰Π΅Ρ‚Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ срСднСС ΠΌΠ΅ΠΆΠ΄Ρƒ этими двумя крайностями, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Mara. ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Π’ настоящСС врСмя Mara Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Windows.

riko

Π₯отя тСхничСски rikoΒ Π½Π΅ являСтся ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ ETL, ΠΎΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΏΠΎ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя мноТСство Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‰ΠΈΡ… ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² нСструктурированных Π΄Π°Π½Π½Ρ‹Ρ… Π² Python.Β Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Ρ‹Π½Π΅ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Yahoo!Β Π’Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Pipes для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π½Π° чистом Python, ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π΅ ΠΊΠ°ΠΊ синхронныС, Ρ‚Π°ΠΊ ΠΈ асинхронныС API.Β Π£ riko достаточно нСбольшой Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ объСм, встроСнная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° RSS / Atom ΠΈ чистая Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Python

визуализация Π΄Π°Π½Π½Ρ‹Ρ… Π² Python вмСстС с plotly

ΠšΡ€Π°ΡΠΎΡ‡Π½ΠΎΠ΅ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ датасСта Π² ΠΎΠ΄Π½Ρƒ строку? НС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с plotly! РазбираСмся с построСниСм ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² ΠΈ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ.

Если ΡΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ питонистов, ΠΊΠ°ΠΊΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ, нСсомнСнно, отвСтят: matplotlib. ΠžΡ‚Π²Π΅Ρ‚ΡΡ‚, ΠΏΡ€Π°Π²Π΄Π°, Π±Π΅Π· особого ΡƒΠ΄ΠΎΠ²ΠΎΠ»ΡŒΡΡ‚Π²ΠΈΡ. МногоС Π² matplotlib Π½Π΅ Ρ‚Π°ΠΊ ΡƒΠΆ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π½Π΅ Ρ€Π°Π· ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ StackOverflow. ΠšΠ°ΡΠ°Π΅Ρ‚ΡΡ это ΠΈ Ρ‚Π°ΠΊΠΈΡ… распространСнных ситуаций, ΠΊΠ°ΠΊ созданиС Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… осСй ΠΈΠ»ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π½ΠΈΡ… Π΄Π°Ρ‚.

НуТно ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ matplotlib создавался Π·Π°Π΄ΠΎΠ»Π³ΠΎ Π΄ΠΎ Π±ΡƒΡ€Π½ΠΎΠ³ΠΎ развития Data Science, ΠΈ Π² большСй ΠΌΠ΅Ρ€Π΅ ориСнтировался Π½Π° ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ массивов NumPy ΠΈ парамСтричСских Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ SciPy. Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя Π² Data Science распространСн ΠΎΠ±ΠΎΠ±Ρ‰Π°ΡŽΡ‰ΠΈΠΉ Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² – датасСты, ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π½Ρ‹Ρ€Π½Π΅ΠΌ Π² Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ – plotly – ΠΈ научимся Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ мноТСство самых Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π²Π΅Ρ‰Π΅ΠΉ.

Π’Π΅ΡΡŒ код доступСн Π½Π° GitHub. Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ (ΠΈ Π½ΡƒΠΆΠ½ΠΎ) ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π°Β NBViewer. ΠŸΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ куски ΠΊΠΎΠ΄Π° Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… – Π² ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… источниках.

ΠŸΠ°ΠΊΠ΅Ρ‚ plotly – Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, построСнная Π½Π° plotly.js, которая, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, базируСтся Π½Π° d3. js. Π’ своих экспСримСнтах с ΠΊΠΎΠ΄ΠΎΠΌ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΡƒ Π½Π°Π΄ plotlyΒ cufflinks. Она ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π΄Π°Ρ‚Π°Ρ„Ρ€Π΅ΠΉΠΌΠ°ΠΌΠΈ pandas. Plotly – это графичСская компания, производящая нСсколько ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² ΠΈ инструмСнтов с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° бСсплатна для использования ΠΈ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ количСство Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² Π² Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎ 25 Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ ΠΎΠ½Π»Π°ΠΉΠ½.

Вся Ρ€Π°Π±ΠΎΡ‚Π° ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π±Ρ‹Π»Π° сдСлана Π² Π±Π»ΠΎΠΊΠ½ΠΎΡ‚Π΅ JupyterΒ Π² связкС plotly+cufflinks, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ стандартным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ pip:

pip install cufflinks plotly

Π‘ΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΈΠΌΠΏΠΎΡ€Ρ‚ Python Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ:

# Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠ΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ plotly
import plotly.plotly as py
import plotly.graph_objs as go
from plotly.offline import iplot

# ИспользованиС cufflinks Π² ΠΎΡ„Π»Π°ΠΉΠ½-Ρ€Π΅ΠΆΠΈΠΌΠ΅
import cufflinks
cufflinks.go_offline()

# Настройка глобальной Ρ‚Π΅ΠΌΡ‹ cufflinks
cufflinks.set_config_file(world_readable=True, theme='pearl', offline=True)

ΠŸΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌ.

ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ распрСдСлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ – стандартный способ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ plotly Π»Π΅Π³ΠΊΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ прСдставлСниС гистограмм ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ… распрСдСлСний. Для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ использовал Ρ€Π°Π½Π΅Π΅ matplotlib, Π½ΡƒΠΆΠ½ΠΎ вмСсто ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ plot просто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ iplot:

df['claps'].iplot(kind='hist', xTitle='claps',
                  yTitle='count', title='Claps Distribution')

Если ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ распрСдСлСниС Π΄Π²ΡƒΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°Π»ΠΎΠΆΠΈΡ‚ΡŒ Π΄Π²Π΅ гистограммы Π΄Ρ€ΡƒΠ³ Π½Π° Π΄Ρ€ΡƒΠ³Π°:

df[['time_started', 'time_published']].iplot(
    kind='hist',
    histnorm='percent',
    barmode='overlay',
    xTitle='Time of Day',
    yTitle='(%) of Articles',
    title='Time Started and Time Published')

ΠŸΡ€ΠΎΠ²Π΅Π΄Ρ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ манипуляции Π² pandas, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ с распрСдСлСниСм ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ:

df2 = df[['view','reads','published_date']].\
         set_index('published_date'). \
         resample('M').mean()

df2.iplot(kind='bar', xTitle='Date', yTitle='Average',
    title='Monthly Average Views and Reads')

ΠšΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΡƒΡ ΠΌΠΎΡ‰ΡŒ pandas ΠΈ plotly, Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ сводныС Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹:

df.pivot(columns='publication', values='fans').iplot(
        kind='box',
        yTitle='fans',
        title='Fans Distribution by Publication')

Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ прСдставлСниС позволяСт Π½Π΅ Π·Π°Π³Ρ€ΠΎΠΌΠΎΠΆΠ΄Π°Ρ‚ΡŒ исходный Π³Ρ€Π°Ρ„ΠΈΠΊ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ, ΠΎΠ±Ρ€Π°Ρ‰Π°ΡΡΡŒ ΠΊ Π½Π΅ΠΉ ΠΏΠΎ нСобходимости.

Одна ΠΈΠ· распространСнных Π·Π°Π΄Π°Ρ‡ – ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡˆΠΊΠ°Π»Ρ‹. Π—Π΄Π΅ΡΡŒ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€Π° ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° для отслСТивания Ρ‚Ρ€Π΅Π½Π΄Π°.

tds = df[df['publication'] == 'Towards Data Science'].\
         set_index('published_date')

tds[['claps', 'fans', 'title']].iplot(
    y='claps', mode='lines+markers', secondary_y = 'fans',
    secondary_y_title='Fans', xTitle='Date', yTitle='Claps',
    text='title', title='Fans and Claps over Time')

Π’ ΠΎΠ΄Π½ΠΎΠΉ строкС Π±Ρ‹Π»ΠΈ сдСланы сразу нСсколько Π²Π΅Ρ‰Π΅ΠΉ:

  • Π—Π°Π΄Π°Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° оси абсцисс.
  • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ оси ΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ исслСдуСмыС Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹ΠΉ ΠΌΠ°ΡΡˆΡ‚Π°Π± Π²Π΅Π»ΠΈΡ‡ΠΈΠ½ (secondary_y = ‘fans’).
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² статСй ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ курсора (рассматриваСтся Π΄Π°Ρ‚Π°Ρ„Ρ€Π΅ΠΉΠΌ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ статСй (text=’title’)).

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅ тСкстовыС Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ€Π΅ΠΆΠΈΠΌΒ lines+markers+text:

tds_monthly_totals.iplot(
    mode='lines+markers+text',
    text=text,
    y='word_count',
    opacity=0.8,
    xTitle='Date',
    yTitle='Word Count',
    title='Total Word Count by Month')

Π›Π΅Π³ΠΊΠΎ ΡΠΎΡ‡Π΅Ρ‚Π°Ρ‚ΡŒ ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ отобраТСния. НапримСр, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†Π²Π΅Ρ‚ для Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

df.pivot_table(
    values='views', index='published_date',
    columns='publication').cumsum().iplot(
        mode='markers+lines',
        size=8,
        symbol=[1, 2, 3, 4, 5],
        layout=dict(
            xaxis=dict(title='Date'),
            yaxis=dict(type='log', title='Total Views'),
            title='Total Views over Time by Publication'))

БовмСстим Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π²ΡƒΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… (для рассматриваСмого датасСта это врСмя чтСния ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π½ΠΎΠ³ΠΎ). Для Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° (Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° ΡΡ‚Π°Ρ‚ΡŒΠΈ) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ†Π²Π΅Ρ‚:

df.iplot(
    x='read_time',
    y='read_ratio',
    # Specify the category
    categories='publication',
    xTitle='Read Time',
    yTitle='Reading Percent',
    title='Reading Percent vs Read Ratio by Publication')

Если Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° мСняСтся Π² ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ логарифмичСскиС оси. Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½ΠΈΠΆΠ΅ прСдставлСн ΠΊΠΎΠ΄ с логарифмичСской осью абсцисс (ΠΊΠΎΠΌΠ°Π½Π΄Π°Β type=’log’). Π’Ρ€Π΅Ρ‚ΡŒΡ пСрСмСнная показываСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ΠΎΠ² (size=’read_ratio’).

tds.iplot(
    x='word_count',
    y='reads',
    size='read_ratio',
    text=text,
    mode='markers',
    layout=dict(
        xaxis=dict(type='log', title='Word Count'),
        yaxis=dict(title='Reads'),
        title='Reads vs Log Word Count Sized by Read Ratio'))

ΠžΠΏΠΈΡΠ°Π½Π½Ρ‹Π΅ стратСгии отобраТСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…: Π΄Π²ΡƒΡ… – ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚, ΠΈ Π΅Ρ‰Π΅ Π΄Π²ΡƒΡ… – Π·Π° счСт использования Ρ†Π²Π΅Ρ‚Π° ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ прСдставлСн Π½Π° рисункС Π½ΠΈΠΆΠ΅.

Для ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ„ΠΎΡ€ΠΌ прСдставлСния Π΄Π°Π½Π½Ρ‹Ρ… Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΒ plotly.figure_factory.

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ рассСяния

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ взаимосвязь ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ рассСяния. Π’ качСствС диагонального отобраТСния СдинствСнной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ гистограммы (diag=’histogram’). Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΈ здСсь ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†Π²Π΅Ρ‚ Π² качСствС Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

import plotly.figure_factory as ff

figure = ff.create_scatterplotmatrix(
    df[['claps', 'publication', 'views',      
        'read_ratio','word_count']],
    diag='histogram',
    index='publication')

ЦвСтовая ΠΊΠ°Ρ€Ρ‚Π° распрСдСлСния

Π”Ρ€ΡƒΠ³ΠΎΠΉ способ, ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ для большого количСства ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… – цвСтовая ΠΊΠ°Ρ€Ρ‚Π° распрСдСлСния Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΡƒΠ΄ΠΎΠ±Π΅Π½, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для коррСляционной ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² датасСта df.corr():

corrs = df. corr()

figure = ff.create_annotated_heatmap(
    z=corrs.values,
    x=list(corrs.columns),
    y=list(corrs.index),
    annotation_text=corrs.round(2).values,
    showscale=True)

ΠŸΡ€ΠΈΡΡ‚Π½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ cufflinks являСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€Π° стиля отобраТСния Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚Π΅ΠΌ. НиТС прСдставлСны отобраТСния Π² Ρ‚Π΅ΠΌΠ°Ρ… space ΠΈ ggplot:

Π•ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π² Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠΌ пространствС:

Π•ΡΡ‚ΡŒ ΠΈ всС, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½ΠΎ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π² стандартном Π½Π°Π±ΠΎΡ€Π΅ построСния Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ. Но Π΄Π°ΠΆΠ΅ ΠΊΡ€ΡƒΠ³ΠΎΠ²Ρ‹Π΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ выглядят здСсь Π±ΠΎΠ»Π΅Π΅ ΡΡ‚ΠΈΠ»ΡŒΠ½ΠΎ, Ρ‡Π΅ΠΌ Π² matplotlib:

Если Π²Ρ‹ запускали скрипты Π² Jupyter-Π±Π»ΠΎΠΊΠ½ΠΎΡ‚Π΅, Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ссылку Π² ΠΏΡ€Π°Π²ΠΎΠΉ части Π³Ρ€Π°Ρ„ΠΈΠΊΠ°Β Export to plot.ly. НаТав Π½Π° Π½Π΅Π΅, Π²Ρ‹ ΠΏΠ΅Ρ€Π΅Π½Π΅ΡΠ΅Ρ‚Π΅ΡΡŒ Π² Chart Studio, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ для ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ†Π²Π΅Ρ‚Π° ΠΈ ΠΏΡ€. НиТС прСдставлСны Π΄Π²Π΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹, ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Π΅ Π² Chart Studio.

Π”Π°ΠΆΠ΅ всС Π²Ρ‹ΡˆΠ΅ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Π½ΠΎΠ΅ Π½Π΅ описываСт всСх возмоТностСй описываСмых Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ большС красочных ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², ΠΈΠ·ΡƒΡ‡ΠΈΡ‚Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ plotly ΠΈ cufflinks.

Π˜Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ:

  • ΠžΠ΄Π½ΠΎΡΡ‚Ρ€ΠΎΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ для красочной Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ датасСтов.
  • Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ элСмСнты для выдСлСния ΠΈ исслСдования Π΄Π°Π½Π½Ρ‹Ρ….
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ сущСствСнной Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.
  • ΠŸΡ€ΠΎΡΡ‚Π°Ρ настройка отобраТСния для

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Python: быстро ΠΈ красиво

Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ прСдставляСт собой ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство ΠΏΠΎ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² Python. ΠœΡ‹ расскаТСм ΠΏΡ€ΠΎ построСниС Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Pandas, Seaborn ΠΈ Plotly, Π° Ρ‚Π°ΠΊΠΆΠ΅ наглядно ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ, Ρ‡Ρ‚ΠΎ ΡΡ‡Π°ΡΡ‚ΡŒΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² Π΄Π΅Π½ΡŒΠ³Π°Ρ….

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим Ρ‚Ρ€ΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… способа построСния Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² Π² Python. А Π΄Π΅Π»Π°Ρ‚ΡŒ это ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π΄Π°Π½Π½Ρ‹Π΅ ВсСмирного Π΄ΠΎΠΊΠ»Π°Π΄Π° ΠΎ ΡΡ‡Π°ΡΡ‚ΡŒΠ΅ Π·Π° 2019 Π³ΠΎΠ΄ (Π΅ΠΆΠ΅Π³ΠΎΠ΄Π½ΠΎ публикуСтся ООН). ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ эти Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ с сайта https://www.gapminder.org/ ΠΈ ΠΈΠ· Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ зависимости.

ВсСмирный Π΄ΠΎΠΊΠ»Π°Π΄ ΠΎ ΡΡ‡Π°ΡΡ‚ΡŒΠ΅ пытаСтся ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° вопрос ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ„Π°ΠΊΡ‚ΠΎΡ€Ρ‹ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° ΡΡ‡Π°ΡΡ‚ΡŒΠ΅ Π²ΠΎ всСм ΠΌΠΈΡ€Π΅.

Π”Π°Π½Π½Ρ‹ΠΉ Π΄ΠΎΠΊΠ»Π°Π΄ ΠΎ ΡΡ‡Π°ΡΡ‚ΡŒΠ΅ сформирован Π½Π° основС ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² Π½Π° вопрос, Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎ систСмС «лСстницы Кэндила» (шкала Кэндила). РСспондСнтов ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Π»ΠΈ, ΠΊΠ°ΠΊ Π±Ρ‹ ΠΎΠ½ΠΈ ΠΎΡ†Π΅Π½ΠΈΠ»ΠΈ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Тизнь ΠΏΠΎ шкалС ΠΎΡ‚ 0 Π΄ΠΎ 10, Π³Π΄Π΅ 0 являСтся Ρ…ΡƒΠ΄ΡˆΠ΅ΠΉ ΠΈΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΎΡ†Π΅Π½ΠΎΠΊ, Π° 10 β€” Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠ΅ΠΉ.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΡΡ‚Π°Ρ‚ΡŒΠΈ

Данная ΡΡ‚Π°Ρ‚ΡŒΡ Π·Π°Π΄ΡƒΠΌΡ‹Π²Π°Π»Π°ΡΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΈ ΠΊΠ°ΠΊ пособиС ΠΏΠΎ написанию ΠΊΠΎΠ΄Π°, ΠΈ ΠΊΠ°ΠΊ своСго Ρ€ΠΎΠ΄Π° нСбольшой справочник, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ врСмя ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°. Для экономии мСста ΠΌΡ‹ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΠΎΠΌΠ΅Ρ‰Π°Π»ΠΈ нСсколько Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² Π² ΠΎΠ΄Π½Ρƒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ, Π½ΠΎ Π²Ρ‹ всСгда ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ наш ΠΊΠΎΠ΄ Π»ΠΈΠ±ΠΎ здСсь, Π»ΠΈΠ±ΠΎ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ Π΅ΠΌΡƒ Jupyter Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠ΅.

ОглавлСниС

На ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΡΠ΅ΠΊΡ†ΠΈΡŽ ΠΌΡ‹ поставили гипСрссылку, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ прСдисловий, Π° сразу ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°ΠΌ. ΠœΡ‹ Π½Π΅ обидимся.

Моя история построСния Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² Π² Python

Π‘ΠΎΠ»Π΅Π΅ ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎ я Π½Π°Ρ‡Π°Π» ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Python ΠΎΠΊΠΎΠ»ΠΎ Π΄Π²ΡƒΡ… Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄. Начиная с этого Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π΅Π΄Π²Π° Π»ΠΈ Π½Π΅ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ нСдСлю я восторгался Π΅Π³ΠΎ простотой ΠΈ Π»Π΅Π³ΠΊΠΎΡΡ‚ΡŒΡŽ использования, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ±ΠΈΠ»ΠΈΠ΅ΠΌ Π²Π΅Π»ΠΈΠΊΠΎΠ»Π΅ΠΏΠ½Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ. И Ρ‡Π΅ΠΌ большС я знакомился с шаблонами ΠΈ концСпциями языка, Ρ‚Π΅ΠΌ большС всС это ΠΎΠ±Ρ€Π΅Ρ‚Π°Π»ΠΎ смысл.

Matplotlib

Но с построСниСм Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² всС происходило Ρ€ΠΎΠ²Π½ΠΎ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚. Π’ Π½Π°Ρ‡Π°Π»Π΅ практичСски ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊ, построСнный Π² Matplotlib, Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π» ΠΌΠ½Π΅ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ прСступника, сбСТавшСго ΠΈΠ· 80-Ρ… Π³ΠΎΠ΄ΠΎΠ². Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ ΠΌΠ΅Ρ€Π·ΠΎΡΡ‚ΡŒ, ΠΌΠ½Π΅ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ†Π΅Π»Ρ‹Π΅ часы Π½Π° Stackoverflow. И Π΄Π°ΠΆΠ΅ Π½Π΅ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΠΉΡ‚Π΅ ΠΌΠ½Π΅ ΠΏΡ€ΠΎ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠ΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ выглядят Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»ΡΡŽΡ‰Π΅, ΠΈ Ρ‚Ρ‹ Ρ‡ΡƒΠ²ΡΡ‚Π²ΡƒΠ΅ΡˆΡŒ сСбя ΠΏΠΎΡ‚Ρ€ΡΡΠ°ΡŽΡ‰Π΅, создавая Ρ‚Π°ΠΊΠΈΠ΅ Π²Π΅Ρ‰ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ. НапримСр, строя 50 Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π·Π° ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·. Но для этого Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΡƒΡ‡Ρƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ мноТСство бСсполСзных ΠΊΠΎΠΌΠ°Π½Π΄.

Seaborn

Знакомство с Seaborn принСсло большоС ΠΎΠ±Π»Π΅Π³Ρ‡Π΅Π½ΠΈΠ΅. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ нСсколько Π°Π±ΡΡ‚Ρ€Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ Ρ‚ΠΎΠ½ΠΊΠΎΠΉ настройки. И с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния эстСтики ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‰ΠΈΡ…ΡΡ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² это большой шаг Π²ΠΏΠ΅Ρ€Π΅Π΄. Но всС ΠΆΠ΅ Seaborn построСна Π½Π° Π±Π°Π·Π΅ Matplotlib. И Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ, для нСстандартных настроСк, приходится ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ ΠΊΠΎΠ΄Ρƒ Matplotlib.

Bokeh

На ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ я Π±Ρ‹Π»ΠΎ ΠΏΠΎΠ΄ΡƒΠΌΠ°Π», Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΈΠΌ спасСниСм Π±ΡƒΠ΄Π΅Ρ‚ Bokeh. Π― наткнулся Π½Π° эту Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, ΠΊΠΎΠ³Π΄Π° Ρ€Π°Π±ΠΎΡ‚Π°Π» Π½Π°Π΄ гСопространствСнной Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ. Но я ΠΎΡ‡Π΅Π½ΡŒ быстро ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ», Ρ‡Ρ‚ΠΎ Bokeh, Ρ…ΠΎΡ‚ΡŒ ΠΈ отличаСтся ΠΎΡ‚ Matplotlib, Π½ΠΎ построСна Ρ‚Π°ΠΊ ΠΆΠ΅ Π³Π»ΡƒΠΏΠΎ ΠΈ Π·Π°ΠΏΡƒΡ‚Π°Π½Π½ΠΎ.

Plotly

НСкотороС врСмя Π½Π°Π·Π°Π΄, ΠΎΠΏΡΡ‚ΡŒ-Ρ‚Π°ΠΊΠΈ работая Π½Π°Π΄ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ гСопространствСнных Π΄Π°Π½Π½Ρ‹Ρ…, я ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π» plot.ly (Π΄Π°Π»Π΅Π΅ Π²Π΅Π·Π΄Π΅ Π±ΡƒΠ΄Π΅ΠΌ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π΅Π΅ просто plotly). Π’ΠΎΠ³Π΄Π° эта Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° показалась ΠΌΠ½Π΅ Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ абсурдной, Ρ‡Π΅ΠΌ всС ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ завСсти Ρ‚Π°ΠΌ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚, Π²ΠΎΠΉΡ‚ΠΈ Π² Π½Π΅Π³ΠΎ Π½Π° вашСм Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠ΅, ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡ‚ΠΎΠΌ plotly Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ Π² ΠΎΠ½Π»Π°ΠΉΠ½ Ρ€Π΅ΠΆΠΈΠΌΠ΅. А Π·Π°Ρ‚Π΅ΠΌ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΅Ρ‰Π΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ эти Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ. Π― ΠΎΡ‡Π΅Π½ΡŒ быстро отбросил эту Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ. Но Π½Π΅Π΄Π°Π²Π½ΠΎ я наткнулся Π½Π° YouTube-Π²ΠΈΠ΄Π΅ΠΎ ΠΏΡ€ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ plotly express ΠΈ plotly 4.0, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π² Ρ‚ΠΎΠΌ числС Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ избавились ΠΎΡ‚ этой ΠΎΠ½Π»Π°ΠΉΠ½-Ρ‡Π΅ΠΏΡƒΡ…ΠΈ. Π― Π½Π°Ρ‡Π°Π» ΠΈΠ³Ρ€Π°Ρ‚ΡŒΡΡ с этой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ ΠΈ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ появилась эта ΡΡ‚Π°Ρ‚ΡŒΡ. Как говорится, Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ·Π΄Π½ΠΎ, Ρ‡Π΅ΠΌ Π½ΠΈΠΊΠΎΠ³Π΄Π°.

Kepler.gl

НС Π±ΡƒΠ΄ΡƒΡ‡ΠΈ Π½ΠΈΠΊΠΎΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ Python, Kepler.gl, Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, являСтся ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌ инструмСнтом для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ гСопространствСнных Π΄Π°Π½Π½Ρ‹Ρ…. ВсС Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ, это CSV-Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Python.

Мои Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ прСдпочтСния

Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ² я остановился Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Pandas для построСния Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² Π½Π° ΡΠΊΠΎΡ€ΡƒΡŽ Ρ€ΡƒΠΊΡƒ, ΠΈ Π½Π° Seaborn для ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΉ ΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² (ΠΊΠΎΠ³Π΄Π° визуализация ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Π°).

Π’Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ статистичСских распрСдСлСний

Π― Π½Π°Ρ‡Π°Π» ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ статистику (курс Stats 119), ΡƒΡ‡Π°ΡΡŒ Π² Π‘Π°Π½-Π”ΠΈΠ΅Π³ΠΎ. Π­Ρ‚ΠΎΡ‚ курс являСтся Π²Π²ΠΎΠ΄Π½Ρ‹ΠΌ ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя самыС основы статистики, ΠΊΠ°ΠΊ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ… (Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΈ ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ), ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ шансов ΠΈ вСроятностСй, Ρ€Π΅Π³Ρ€Π΅ΡΡΠΈΡŽ, Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΈ, самоС Π³Π»Π°Π²Π½ΠΎΠ΅, статистичСскиС распрСдСлСния. Π’ это врСмя ΠΌΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ‚Π΅Ρ… ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Ρ… количСствСнных Ρ„Π΅Π½ΠΎΠΌΠ΅Π½ΠΎΠ² практичСски ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡΠ΄Π²ΠΈΠ½ΡƒΠ»ΠΎΡΡŒ Π² сторону прСдставлСния ΠΈΡ… Π² Π²ΠΈΠ΄Π΅ статистичСских распрСдСлСний (ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, гауссовых).

И ΠΏΠΎ сСй дСнь я Π½Π°Ρ…ΠΎΠΆΡƒ ΠΏΠΎΡ‚Ρ€ΡΡΠ°ΡŽΡ‰ΠΈΠΌ, ΠΊΠ°ΠΊ всСго Π΄Π²Π΅ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹, матСматичСскоС ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ ΠΈ диспСрсия, ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π²Π°ΠΌ ΠΏΠΎΡΡ‚ΠΈΡ‡ΡŒ ΡΡƒΡ‚ΡŒ явлСния. ΠŸΡ€ΠΎΡΡ‚ΠΎ зная эти Π΄Π²Π° числа, Π»Π΅Π³ΠΊΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄, насколько вСроятСн Ρ‚ΠΎΡ‚ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. ΠœΡ‹ сразу Π·Π½Π°Π΅ΠΌ, Π² ΠΊΠ°ΠΊΠΎΠΉ области Π±ΡƒΠ΄ΡƒΡ‚ основныС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹. Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Π½Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ быстро Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ статистичСски Π·Π½Π°Ρ‡ΠΈΠΌΡ‹Π΅ явлСния, Π½Π΅ производя ΠΏΡ€ΠΈ этом слоТных вычислСний.

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π»ΡŽΠ±Ρ‹ΠΌΠΈ Π½ΠΎΠ²Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠΎΠΈΠΌ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ шагом всСгда являСтся ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… статистичСскоС распрСдСлСниС.

Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ

Для Π½Π°Ρ‡Π°Π»Π° Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠΌ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅. Π― Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π» ΠΏΡ€Π΅Π΄ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ… (ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΠΎΠ»ΡΡ†ΠΈΡŽ ΠΈ ΡΠΊΡΡ‚Ρ€Π°ΠΏΠΎΠ»ΡΡ†ΠΈΡŽ β€” Ρ‚Π°ΠΌ, Π³Π΄Π΅ это Π±Ρ‹Π»ΠΎ умСстно).

# Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ Π΄Π°Π½Π½Ρ‹Π΅
data = pd.read_csv('https://raw.githubusercontent.com/FBosler/AdvancedPlotting/master/combined_set.csv')
# присваиваСм ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Π³ΠΎΠ΄Ρƒ 
data['Mean Log GDP per capita']  = data.groupby('Year')['Log GDP per capita'].transform(
    pd.qcut,
    q=5,
    labels=(['Lowest','Low','Medium','High','Highest'])
)

Π—Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΉ датасСт содСрТит Π΄Π°Π½Π½Ρ‹Π΅ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°Ρ…:

  • Year (Π³ΠΎΠ΄): Π³ΠΎΠ΄, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠ»ΠΈΡΡŒ измСрСния (с 2007 ΠΏΠΎ 2018).
  • Life Ladder («лСстница ΠΆΠΈΠ·Π½ΠΈΒ»): рСспондСнт измСряСт качСство свой ΠΆΠΈΠ·Π½ΠΈ ΠΏΠΎ шкалС ΠΎΡ‚ 0 Π΄ΠΎ 10 (Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠ°Ρ ΠΎΡ†Π΅Π½ΠΊΠ°). Π­Ρ‚ΠΎ Ρ‚Π°ΠΊ называСмая лСстница ΠΈΠ»ΠΈ шкала ΠšΡΠ½Ρ‚Ρ€ΠΈΠ»Π°.
  • Log GDP per capita (Π»ΠΎΠ³Π°Ρ€ΠΈΡ„ΠΌ Π’Π’ΠŸ Π½Π° Π΄ΡƒΡˆΡƒ насСлСния): Π’Π’ΠŸ Π½Π° Π΄ΡƒΡˆΡƒ насСлСния, подсчитанный ΠΏΠΎ ΠΏΠ°Ρ€ΠΈΡ‚Π΅Ρ‚Ρƒ ΠΏΠΎΠΊΡƒΠΏΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ способности Π΄ΠΎΠ»Π»Π°Ρ€Π° Π² 2011 Π³ΠΎΠ΄Ρƒ. Взято ΠΈΠ· ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² ΠΌΠΈΡ€ΠΎΠ²ΠΎΠ³ΠΎ развития (WDI β€” World Development Indicators), ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½Ρ‹Ρ… ВсСмирным Π‘Π°Π½ΠΊΠΎΠΌ 14 ноября 2018 Π³ΠΎΠ΄Π°.
  • Social support (ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°): ΠžΡ‚Π²Π΅Ρ‚ Π½Π° вопрос: «Если Π±Ρ‹ Π²Ρ‹ Π±Ρ‹Π»ΠΈ Π² Π±Π΅Π΄Π΅, Ρ‚ΠΎ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ Π΄Ρ€ΡƒΠ·Π΅ΠΉ ΠΈΠ»ΠΈ родствСнников ΠΈΠ»ΠΈ Π½Π΅Ρ‚?Β»
  • Healthy life expectancy at birth (оТидаСмая ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π·Π΄ΠΎΡ€ΠΎΠ²ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ): ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ΅ количСство Π»Π΅Ρ‚, Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ смоТСт вСсти Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π· ΠΆΠΈΠ·Π½ΠΈ Π±Π΅Π· всяких ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ ΠΏΠΎ Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΡŽ. ΠŸΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ β€” Π½Π° основС Π΄Π°Π½Π½Ρ‹Ρ… ВсСмирной ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ здравоохранСния (WHO β€” World Health Organization) Π·Π° 2005, 2010, 2015 ΠΈ 2016 Π³ΠΎΠ΄Ρ‹.
  • Freedom to make life choices (свобода Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€): ΠžΡ‚Π²Π΅Ρ‚ Π½Π° вопрос: Β«Π£Π΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€Π΅Π½Ρ‹ Π»ΠΈ Π²Ρ‹ вашим ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ свободы Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ со своСй Тизнью?Β»
  • Generosity (Ρ‰Π΅Π΄Ρ€ΠΎΡΡ‚ΡŒ): ΠžΡ‚Π²Π΅Ρ‚ Π½Π° вопрос: Β«Π–Π΅Ρ€Ρ‚Π²ΠΎΠ²Π°Π»ΠΈ Π»ΠΈ Π²Ρ‹ дСньги Π½Π° Π±Π»Π°Π³ΠΎΡ‚Π²ΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ мСсяцС?Β» (Π² привязкС ΠΊ Π’Π’ΠŸ Π½Π° Π΄ΡƒΡˆΡƒ насСлСния).
  • Perceptions of corruption (восприятиС ΠΊΠΎΡ€Ρ€ΡƒΠΏΡ†ΠΈΠΈ): ΠžΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° вопросы: Β«Π¨ΠΈΡ€ΠΎΠΊΠΎ Π»ΠΈ распространСна коррупция Π² ΠΏΡ€Π°Π²ΠΈΡ‚Π΅Π»ΡŒΡΡ‚Π²Π΅Π½Π½Ρ‹Ρ… ΠΊΡ€ΡƒΠ³Π°Ρ…?Β» ΠΈ Β«Π¨ΠΈΡ€ΠΎΠΊΠΎ Π»ΠΈ распространСна коррупция Π² бизнСсС?Β»
  • Positive affect (ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Ρ„Ρ„Π΅ΠΊΡ‚): Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя ΡΡ€Π΅Π΄Π½ΡŽΡŽ частоту ΡΡ‡Π°ΡΡ‚ΡŒΡ, смСха ΠΈ радости Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ дСнь.
  • Negative affect (ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Ρ„Ρ„Π΅ΠΊΡ‚): Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя ΡΡ€Π΅Π΄Π½ΡŽΡŽ частоту бСспокойства, грусти ΠΈ Π³Π½Π΅Π²Π° Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ дСнь.
  • Confidence in national government (Π΄ΠΎΠ²Π΅Ρ€ΠΈΠ΅ собствСнному ΠΏΡ€Π°Π²ΠΈΡ‚Π΅Π»ΡŒΡΡ‚Π²Ρƒ): Π½Π΅ нуТдаСтся Π² пояснСниях.
  • Democratic Quality (качСство Π΄Π΅ΠΌΠΎΠΊΡ€Π°Ρ‚ΠΈΠΈ): насколько Π΄Π΅ΠΌΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‡Π½Π° страна.
  • Delivery Quality (качСство управлСния): насколько Ρ…ΠΎΡ€ΠΎΡˆΠΎ страна управляСтся.
  • Gapminder Life Expectancy (ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΆΠΈΠ·Π½ΠΈ ΠΎΡ‚ Gapminder): Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΆΠΈΠ·Π½ΠΈ ΠΎΡ‚ Gapminder.
  • Gapminder Population (насСлСниС страны ΠΎΡ‚ Gapminder): насСлСниС страны.

Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

import plotly
import pandas as pd
import numpy as np
import seaborn as sns
import plotly.express as pximport matplotlib%matplotlib inlineassert matplotlib.__version__ == "3.1.0","""
Please install matplotlib version 3.1.0 by running:
1) !pip uninstall matplotlib
2) !pip install matplotlib==3.1.0
"""

Быстро: простыС Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ Π² Pandas

Pandas ΠΈΠΌΠ΅Π΅Ρ‚ встроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ построСния Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ нСпосрСдствСнно ΠΈΠ· Series ΠΈ DataFrame. Π—Π° Ρ‡Ρ‚ΠΎ я обоТаю эти Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, это Π·Π° ΠΈΡ… ΠΊΡ€Π°Ρ‚ΠΊΠΎΡΡ‚ΡŒ, Π·Π° Ρ€Π°Π·ΡƒΠΌΠ½Ρ‹Π΅ значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈ Π·Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ с ΠΈΡ… ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ быстро ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ происходит с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

Для создания Π³Ρ€Π°Ρ„ΠΈΠΊΠ° просто Π²Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ .plot(kind=<TYPE OF PLOT>) ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

np.exp(data[data['Year']==2018]['Log GDP per capita']).plot(
    kind='hist'
)

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ получится ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊ:

2018: Гистограмма количСства стран Π² зависимости ΠΎΡ‚ Π’Π’ΠŸ Π½Π° Π΄ΡƒΡˆΡƒ насСлСния. Π’ΡƒΡ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΡΡŽΡ€ΠΏΡ€ΠΈΠ·ΠΎΠ²: Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ стран Π±Π΅Π΄Π½Ρ‹!

ΠŸΡ€ΠΈ построСнии Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² Π² Pandas я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ ΠΏΡΡ‚ΡŒ основных ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²:

  • kind: Pandas Π΄ΠΎΠ»ΠΆΠ½Π° Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π³Ρ€Π°Ρ„ΠΈΠΊ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹: hist, bar, barh, scatter, area, kde, line, box, hexbin, pie.
  • figsize: ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ (6 дюймов Π² ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΈ 4 дюйма Π² высоту). Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π° Π²Ρ…ΠΎΠ΄ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ figsize=(12,8), Ρ‡Ρ‚ΠΎ я часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ.
  • title: ДобавляСт ΠΊ Π³Ρ€Π°Ρ„ΠΈΠΊΡƒ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, я Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΡ€Π°Ρ‚ΠΊΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ происходит Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅, Π΄Π°Π±Ρ‹ ΠΏΠΎΡ‚ΠΎΠΌ это ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ быстро ΠΏΠΎΠ½ΡΡ‚ΡŒ. Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π° Π²Ρ…ΠΎΠ΄ строку.
  • bins: ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΡˆΠΈΡ€ΠΈΠ½Ρƒ областСй гистограммы. Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π° Π²Ρ…ΠΎΠ΄ список ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡƒΡŽ Π΅ΠΌΡƒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ bins=np.arange(2,8,0.25).
  • xlim/ylim: ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ значСния осСй x ΠΈ y. Оба ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ Π½Π° Π²Ρ…ΠΎΠ΄ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ xlim=(0,5).

Π”Π°Π²Π°ΠΉΡ‚Π΅ быстро пробСТимся ΠΏΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Ρ‚ΠΈΠΏΠ°ΠΌ Ρ‚Π°ΠΊΠΈΡ… Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ².

Π’Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Π°Ρ гистограмма

data[
    data['Year'] == 2018
].set_index('Country name')['Life Ladder'].nlargest(15).plot(
    kind='bar',
    figsize=(12,8)
)

Знакомимся с Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Python. Π§Π°ΡΡ‚ΡŒ 1

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΠ½Π΅ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ этапС обучСния Π°Π»Π³ΠΎΡ‚Ρ€Π΅ΠΉΠ΄ΠΈΠ½Π³Ρƒ, Π½Π°Ρ†Π΅Π»Π΅Π½Π½ΠΎΠΌ Π½Π° Ρ‚Π°ΠΊΡƒΡŽ Π²Π°ΠΆΠ½ΡƒΡŽ Π²Π΅Ρ‰ΡŒ ΠΊΠ°ΠΊ Π°Π½Π°Π»ΠΈΠ· Π΄Π°Π½Π½Ρ‹Ρ…. ΠœΡ‹ рассмотрим ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈ использованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ pandas, matplotlib,Β ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ ΠΎΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ Python ΠΈ Π±ΠΈΡ€ΠΆΠ΅Π²ΠΎΠ΅ Π΄Π΅Π»ΠΎ.

Если Π²Ρ‹ ΠΏΡ€ΠΎΡˆΠ»ΠΈ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ этап, Ρ‚ΠΎ ΡƒΠΆΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ освоили Python, ΠΈΠ·ΡƒΡ‡ΠΈΠ»ΠΈ стандартныС конструкции языка, попользовались Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ ΠΈ ΡƒΠΆΠ΅ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Π±ΠΈΡ€ΠΆΠ° это Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Forex. ПослС прохоТдСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ этапа Π²Ρ‹ смоТСтС ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ· Π±ΠΈΡ€ΠΆΠ΅Π²Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ свои Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ ΠΈ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ станСтС Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΠΊΠΎΠ²Π°Π½Ρ‹ Π² тСхничСском Π°Π½Π°Π»ΠΈΠ·Π΅.

Анализ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚Ρ€Π΅ΠΉΠ΄ΠΈΠ½Π³Π΅, ΠΎΠ½ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ, Π² статистичСских расчСтах, Π² матСматичСском ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠΌ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ познакомившись с этой достаточно слоТной Ρ‚Π΅ΠΌΠΎΠΉ, Π²Ρ‹ смоТСтС Π½Π°ΠΉΡ‚ΠΈ Π΅ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… сфСрах.

ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΡŽ

Данная ΡΡ‚Π°Ρ‚ΡŒΡ Ρ€Π°Π·Π±ΠΈΡ‚Π° Π½Π° Ρ‚Ρ€ΠΈ части для удобства восприятия. Β Π’ этой части Π±ΡƒΠ΄ΡƒΡ‚ рассмотрСны источники, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для освоСния Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½Ρ‹Ρ…, создания Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ², изучСния Python, Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ β€” знакомство с тСхничСскими ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ ΠΈ построСниСм своих Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ², Π° Π² Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ β€” Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π±ΠΈΡ€ΠΆΠ΅Π²ΠΎΠΌΡƒ Π΄Π΅Π»Ρƒ.

Π­Ρ‚Π°ΠΏ 2.1. Анализ Π΄Π°Π½Π½Ρ‹Ρ…

1. Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ pandas

pandas β€” Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ для Python, построСнная ΠΏΠΎΠ²Π΅Ρ€Ρ… Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π° NumPy, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½Ρ‹Ρ….

ΠΡƒΠΆΠ΄Π°ΡΡΡŒ Π² быстром ΠΈ Π³ΠΈΠ±ΠΊΠΎΠΌ инструмСнтС для количСствСнного Π°Π½Π°Π»ΠΈΠ·Π° финансовой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Уэс Мак-Кинни приступил ΠΊ созданию pandas Π² 2008 Π³ΠΎΠ΄Ρƒ, сСйчас данная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° считаСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ…ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ для Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Python.

Π­Ρ‚Π° высокоуровнСвая Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° позволяСт ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ сводныС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΡƒ ΠΏΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌ, Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (слоТСниС, Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΌΠ΅Π΄ΠΈΠ°Π½Ρ‹, срСднСго, минимального, максимального Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ), ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅. Π’ pandas ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

Π”Π°ΠΌ нСбольшоС пояснСниС ΠΏΠΎ основным структурам Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ придСтся Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

Series – это маркированная одномСрная структура Π΄Π°Π½Π½Ρ‹Ρ…, Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ с ΠΎΠ΄Π½ΠΎΠΉ строкой.

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Series ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊ:

Π‘Ρ‚ΠΎΠ»Π±Π΅Ρ† слСва это индСкс, справа β€” значСния.

DataFrame – это двумСрная маркированная структура. ИдСйно ΠΎΠ½Π° ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° ΠΎΠ±Ρ‹Ρ‡Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, Ρ‡Ρ‚ΠΎ выраТаСтся Π² способС Π΅Π΅ создания ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π΅Π΅ элСмСнтами.

Pandas ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…:

  • Π’Π°Π±Π»ΠΈΡ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ («плоскиС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹Β»), Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ SQL ΠΈΠ»ΠΈ Excel.
  • УпорядочСнныС ΠΈ нСупорядочСнныС Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ряды.
  • ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ с ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ строк ΠΈ столбцов.
  • Π”Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹ прСдставлСния статистичСских Π΄Π°Π½Π½Ρ‹Ρ….

Π’ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ pandas ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ инструмСнтом Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, доступным для любого языка программирования.

Π”Π°Π»Π΅Π΅ я расскаТу ΠΊΠ°ΠΊ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ pandas.

1.1. ΠŸΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ сСрии ΡƒΡ€ΠΎΠΊΠΎΠ² ΠΏΠΎ pandas Π½Π° сайтС devpractice.ru

Π’ самом Π½Π°Ρ‡Π°Π»Π΅ Π°Π²Ρ‚ΠΎΡ€ рассказываСт ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ pandas Π½Π° Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ описанию Π΄Π²ΡƒΡ… Π³Π»Π°Π²Π½Ρ‹Ρ… Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ структур Π΄Π°Π½Π½Ρ‹Ρ…, Series ΠΈ DataFrame.

Π”Π°Π»Π΅Π΅ Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ Ρ‚ΠΎΠΌ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½ΠΈΠΌΠΈ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с элСмСнтами, ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ доступ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ способами, Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ индСксы ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ΅. Для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ° Π΄ΡƒΠΌΠ°ΡŽ Π»ΡƒΡ‡ΡˆΠΈΠΉ Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π» Π² Ρ€ΡƒΠ½Π΅Ρ‚Π΅.

1.2. Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΎ pandas Π½Π° сайтС khashtamov.com

Достаточно объСмная ΡΡ‚Π°Ρ‚ΡŒΡ со мноТСством ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΈ простым ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. ΠžΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΡ заслуТиваСт Π·Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π² Π½Π΅ΠΉ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π°Π½Π°Π»ΠΈΠ· Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… рядов Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π°ΠΊΡ†ΠΈΠΉ Apple, Ρ‡Ρ‚ΠΎ позволяСт ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ примСняСтся Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΈ показываСтся Ρ€Π°Π±ΠΎΡ‚Π° с построСниСм Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ matplotlib, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π΅Ρ‡ΡŒ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Π½ΠΈΠΆΠ΅.

1.3. Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ†ΠΈΠΊΠ»Π° статСй ΠΎ pandas Π½Π° сайтС pythonworld.ru

НС лишним Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ этот источник, Ρ‚.ΠΊ. Ρ‚Π°ΠΌ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ рассказываСтся ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ read_csv ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ.

1.4. Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ pandas

ДокумСнтация написана Π½Π° английском языкС, Π½ΠΎ это Π½Π΅ ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ эффСктивно ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ. Если Π²Ρ‹ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅ языка, Ρ‚ΠΎΠ³Π΄Π° ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊ. Π’ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ содСрТится всё, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΎ ΠΏΠ°Π½Π΄Π΅. Π’Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ написана ΠΎΠ½Π° достаточно простым языком. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρƒ Panel ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ, Ρ‚.ΠΊ. ΠΎΠ½Π° Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½Π° ΠΈΠ· pandas.

1.5. Π§Ρ‚Π΅Π½ΠΈΠ΅ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹: Маккинни β€” β€œPython ΠΈ Π°Π½Π°Π»ΠΈΠ· Π΄Π°Π½Π½Ρ‹Ρ…Β»

Данная ΠΊΠ½ΠΈΠ³Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для изучСния pandas, Π² Π½Π΅ΠΉ Ρ‚Π°ΠΊ ΠΆΠ΅ рассказываСтся ΠΎ NumPy, matplotlib ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠΌ. ЕдинствСнноС, Ρ‡Ρ‚ΠΎ Π·Π° основу взят Python 2.7, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ большая Ρ‡Π°ΡΡ‚ΡŒ Π½Π°ΡƒΡ‡Π½ΠΎΠ³ΠΎ сообщСства Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ написания ΠΊΠ½ΠΈΠ³ΠΈ Π΅Ρ‰Ρ‘ Π½Π΅ ΠΏΠ΅Ρ€Π΅ΡˆΠ»Π° Π½Π° Python 3. Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, Ссли Π½Π΅ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, Ρƒ вас Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ трудностСй с исполнСниСм ΠΏΡ€ΠΈΒ­Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π² ΠΊΠ½ΠΈΠ³Π΅ ΠΊΠΎΠ΄Π°, Π΄Π°ΠΆΠ΅ Ссли Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Python 3.7.

Книга покаТСтся слоТной для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ², поэтому достаточно Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΠΎ 5-10 страниц Π² дСнь.

Π‘ΠΎΠ²Π΅Ρ‚: ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с pandas ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Jupyter Notebook. Π­Ρ‚ΠΎ интСрактивная срСда для программирования Π½Π° языкС Python, которая позволяСт ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄, тСкст, Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, матСматичСскиС Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ ΠΈ ΡΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всё Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΎΡ‚Ρ‡Π΅Ρ‚Π΅.

2. matplotlib

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° matplotlib β€” самый популярный Π² Python инструмСнт для создания Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… способов Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΠ°ΠΊΠ΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π²ΠΈΠ΄Ρ‹ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² ΠΈ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ:

  • Π“Ρ€Π°Ρ„ΠΈΠΊΠΈ.
  • Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ разброса.
  • Π‘Ρ‚ΠΎΠ»Π±Ρ‡Π°Ρ‚Ρ‹Π΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ гистограммы.
  • ΠšΡ€ΡƒΠ³ΠΎΠ²Ρ‹Π΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹.
  • Π‘Ρ‚Π²ΠΎΠ»-лист Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹.
  • ΠšΠΎΠ½Ρ‚ΡƒΡ€Π½Ρ‹Π΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ.
  • Поля Π³Ρ€Π°Π΄ΠΈΠ΅Π½Ρ‚ΠΎΠ².
  • Π‘ΠΏΠ΅ΠΊΡ‚Ρ€Π°Π»ΡŒΠ½Ρ‹Π΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ matplotlib ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΈ Π°Π½ΠΈΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ изобраТСния.

Как ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ?

2.1. ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΡƒΡ‡Π΅Π±Π½ΠΈΠΊ β€œΠΠ°ΡƒΡ‡Π½Π°Ρ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° Π² Python”

Автор ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠ° ПавСл Π¨Π°Π±Π°Π½ΠΎΠ² стараСтся ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Π²ΠΎ всСх подробностях. Π”Π°Ρ‘Ρ‚ мноТСство ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΈ просто Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚. НСмного ΠΏΡ€ΠΎΡ†ΠΈΡ‚ΠΈΡ€ΡƒΡŽ: β€œΠ‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ рисунка Π² matplotlib схоТС с рисованиСм Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ. Π’Π°ΠΊ Ρ…ΡƒΠ΄ΠΎΠΆΠ½ΠΈΠΊΡƒ Π½ΡƒΠΆΠ½ΠΎ Π²Π·ΡΡ‚ΡŒ основу (холст ΠΈΠ»ΠΈ Π±ΡƒΠΌΠ°Π³Ρƒ), инструмСнты (кисти ΠΈΠ»ΠΈ ΠΊΠ°Ρ€Π°Π½Π΄Π°ΡˆΠΈ), ΠΈΠΌΠ΅Ρ‚ΡŒ прСдставлСниС ΠΎ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ рисункС (Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ) ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ всё это ΠΈ Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ рисунок Π΄Π΅Ρ‚Π°Π»ΡŒ Π·Π° Π΄Π΅Ρ‚Π°Π»ΡŒΡŽ.”

2.2. Π˜Π·ΡƒΡ‡ΠΈΡ‚ΡŒ ΡΠ΅Ρ€ΠΈΡŽ ΡˆΠΏΠ°Ρ€Π³Π°Π»ΠΎΠΊ ΠΏΠΎ matplotlib

Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°Ρ‚ΡŒ сСриСй ΡƒΡ€ΠΎΠΊΠΎΠ² с достаточно ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΌ описаниСм возмоТностСй Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π³Π΄Π΅ ΠΏΠΎΠ΄ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строкой ΠΊΠΎΠ΄Π° даСтся пояснСниС.

2.3. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ pyplot

β€œΠ’Π°ΠΊ ΠΊΠ°ΠΊ matplotlib ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π° иСрархичСски, Π° Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ простыми для понимания Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ ΡΠ²Π»ΡΡŽΡ‚ΡΡ самыС высокоуровнСвыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚ΠΎ знакомство с matplotlib Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ с самого высокоуровнСвого интСрфСйса matplotlib.pyplot. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ matplotlib.pyplot. являСтся Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅Π»Π°ΡŽΡ‚ синтаксис графичСских matploltib ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² срСдС MATLAB.” β€” позаимствовано ΠΈΠ· ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠ° β€œΠΠ°ΡƒΡ‡Π½Π°Ρ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° Π² Python”.

Π­Ρ‚Π°ΠΏ 2.2. ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ процСсса изучСния Python

1. ΠŸΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ курса Π½Π° Stepik.org β€œPython: основы ΠΈ примСнСниС”

По сути являСтся ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ΠΌ курса Β«ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° PythonΒ», описанного Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ этапС. Π—Π°Π΄Π°Ρ‡ΠΈ послоТнСС, Π½ΠΎ Π²ΠΏΠΎΠ»Π½Π΅ ΠΏΠΎΠ΄ΡŠΡ‘ΠΌΠ½Ρ‹Π΅ для Ρ‚Π΅Ρ… ΠΊΡ‚ΠΎ ΠΏΡ€ΠΎΡˆΠ΅Π» 1 этап. Автор ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ языка, Π² слСдствии Ρ‡Π΅Π³ΠΎ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Π»ΡƒΡ‡ΡˆΠ΅Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ процСсса Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Если с ΠΏΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ курса Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ слоТности, ΡΠΎΠ²Π΅Ρ‚ΡƒΡŽ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²ΠΈΠ΄Π΅ΠΎ курс ΠΏΠΎ Python ΠΈΠ· ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ этапа.

Π’ дСнь достаточно ΡƒΠ΄Π΅Π»ΡΡ‚ΡŒ этому рСсурсу 1 час.

Бсылка Π½Π° курс: https://stepik.org/course/512/syllabus

2. Π§Ρ‚Π΅Π½ΠΈΠ΅ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹: Π›ΡƒΡ‚Ρ† β€” β€œΠ˜Π·ΡƒΡ‡Π°Π΅ΠΌ Python. 4 изданиС”

Π”ΡƒΠΌΠ°ΡŽ ΠΊΠ½ΠΈΠ³Π° Π›ΡƒΡ‚Ρ†Π° стала ΡƒΠΆΠ΅ классикой, Π΅Ρ‘ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽΡ‚ ΠΏΠΎΡ‡Ρ‚ΠΈ всС, ΠΊΡ‚ΠΎ ΠΊΠΎΠ³Π΄Π° Ρ‚ΠΎ ΠΈΠ·ΡƒΡ‡Π°Π» Python. И это ΠΎΠΏΡ€Π°Π²Π΄Π°Π½Π½ΠΎ, данная ΠΊΠ½ΠΈΠ³Π° ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ раскрываСт Ρ„ΠΈΠ»ΠΎΡΠΎΡ„ΠΈΡŽ Python ΠΈ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ возмоТности языка, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ лишь Π² англоязычной Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ. ΠŸΠΎΡ‡Ρ‚ΠΈ Π½Π° всСх Ρ„ΠΎΡ€ΡƒΠΌΠ°Ρ… ΠΊΠ½ΠΈΠ³Π° β€œΠ˜Π·ΡƒΡ‡Π°Π΅ΠΌ Python” рСкомСндуСтся ΠΊΠ°ΠΊ пособиС для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ осваиваСт язык с нуля, ΠΎΠ΄Π½Π°ΠΊΠΎ я ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠΉΠ΄Π΅Ρ‚, Ρ‚Π΅ΠΌ ΠΊΡ‚ΠΎ ΡƒΠΆΠ΅ освоил Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π°Π·Ρ‹. Книга написана Π² 2011 Π³ΠΎΠ΄Ρƒ, Π½ΠΎ Π½Π΅ потСряла Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ Π² 2018.

Π’ дСнь Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΠΎ 15 страниц.

3. РСшСниС Π·Π°Π΄Π°Ρ‡ Π² Pythontutor.ru

Если Π²Ρ‹ ΡƒΠΆΠ΅ Ρ€Π΅ΡˆΠΈΠ»ΠΈ всС Π·Π°Π΄Π°Ρ‡ΠΈ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠ΅ Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΌ этапС, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚, Ссли Π½Π΅Ρ‚, ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉΡ‚Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π‘Ρ€ΠΎΠΊ Π΄Π°Π½Π½ΠΎΠ³ΠΎ этапа составляСт ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ 2-3 мСсяца. Но ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ pandas ΠΈ matplotlib Π½Π΅ ограничиваСтся Π΄Π°Π½Π½Ρ‹ΠΌ этапом ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ возмоТности Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΎΡ‡Π΅Π½ΡŒ ΠΎΠ±ΡˆΠΈΡ€Π½Ρ‹. Как говорится Π²Π΅ΠΊ ΠΆΠΈΠ²ΠΈ β€” Π²Π΅ΠΊ ΡƒΡ‡ΠΈΡΡŒ.

πŸ’¬ Π’ коммСнтариях Π·Π°Π΄Π°Π²Π°ΠΉΡ‚Π΅ вопросы. ΠŸΠΎΡΠΎΠ²Π΅Ρ‚ΡƒΠΉΡ‚Π΅ свои ΠΊΠ½ΠΈΠ³ΠΈ ΠΈ ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΏΠΎ этой Ρ‚Π΅ΠΌΠ΅.

ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ части, посвящСнной знакомству с тСхничСскими ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ ΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°ΠΌΠΈ Π² срСдС Jupyter.

Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ обучСния:

5 Π»ΡƒΡ‡ΡˆΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Python для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…

Визуализация Π΄Π°Π½Π½Ρ‹Ρ… Π΄Π°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, нСдоступной Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ Python Π΅ΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΈ ΠΈΠ· самых ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… инструмСнтов Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π‘Π°ΠΌΡ‹Π΅ основныС Ρ‚ΠΈΠΏΡ‹ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ…, Π½ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ доступны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ….

Журналист Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ Дэвид МакКэндлСсс, говоря ΠΎ ваТности Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² своСм выступлСнии Π½Π° TED, сказал: «Визуализируя ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, ΠΌΡ‹ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ Π΅Π΅ Π² Π»Π°Π½Π΄ΡˆΠ°Ρ„Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ своими Π³Π»Π°Π·Π°ΠΌΠΈ, своСго Ρ€ΠΎΠ΄Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚Ρƒ.А ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ‚Π΅Ρ€ΡΠ΅Ρ‚Π΅ΡΡŒ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ информационная ΠΊΠ°Ρ€Ρ‚Π° Β». Π’ΠΎΡ‚ 5 Π»ΡƒΡ‡ΡˆΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Python.

Π›ΡƒΡ‡ΡˆΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Python для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…

1. Matplotlib

Matplotlib — самая популярная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² Python ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для построСния 2D-Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ². Π­Ρ‚ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для построСния Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² Π² сообщСствС Python, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±ΠΎΠ»Π΅Π΅ дСсяти Π»Π΅Ρ‚. Он поставляСтся с ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ срСдой для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ. Matplotlib ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² сцСнариях Python, ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°Ρ… Python ΠΈ IPython, записной ΠΊΠ½ΠΈΠΆΠΊΠ΅ Jupyter, сСрвСрах Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… Π½Π°Π±ΠΎΡ€Π°Ρ… инструмСнтов графичСского ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса.Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ всСго Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… строк ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, гистограммы, гистограммы, спСктры мощности, стволовыС Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹, Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ рассСяния, Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ошибок, ΠΊΡ€ΡƒΠ³ΠΎΠ²Ρ‹Π΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹. ΠœΠΎΠ΄ΡƒΠ»ΡŒ pyplot прСдоставляСт интСрфСйс, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ MATLAB, особСнно Π² сочСтании с IPython. Matplotlib ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΠ΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ HTML5 для ΠΏΠΎΠ»Π½ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, вмСсто этого ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΠ²ΡˆΠΈΡΡŒ Π½Π° статичСских изобраТСниях для ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ вмСстС с ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ Ρ„ΠΈΠ³ΡƒΡ€Π°ΠΌΠΈ с использованиСм Ρ‚Π°ΠΊΠΈΡ… инструмСнтов графичСского интСрфСйса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΊΠ°ΠΊ Qt ΠΈ GTK.



Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ изобраТСния: Edureka

2. Plotly

Plotly — это Π²Π΅Π±-инструмСнтарий для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Доступ ΠΊ Plotly Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ· записной ΠΊΠ½ΠΈΠΆΠΊΠΈ Python, ΠΈ Ρƒ Π½Π΅Π³ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ API. Обладая ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ функциями, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ ΠΊΠΎΠ½Ρ‚ΡƒΡ€Π½Ρ‹Π΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, Π΄Π΅Π½Π΄Ρ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Π΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹, ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ, Ρ‚Π°ΠΊΡƒΡŽ ​​как Ρ‚ΠΎΡ‡Π΅Ρ‡Π½Ρ‹Π΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹, Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Π΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹, гистограммы, столбцы ошибок, ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹Π΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹, гистограммы, нСсколько осСй, ΠΏΠΎΠ΄Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅. Он содСрТит ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ API, Π² Ρ‚ΠΎΠΌ числС ΠΈ для Python. Π’ Π½Π΅ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚ΡƒΡ€Π½Ρ‹Π΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ часто встрСчаСтся Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ….

3. Π‘ΠΈΠ±ΠΎΡ€Π½

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Python ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Seaborn — это Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, основанная Π½Π° Matplotlib. Он прСдоставляСт Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ сТатый API для создания Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ Π½Π° основС KDE. Он прСдоставляСт интСрфСйс высокого уровня для рисования ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… статистичСских Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ². Он тСсно ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ со стСком PyData, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ структур Π΄Π°Π½Π½Ρ‹Ρ… numpy ΠΈ pandas. Компания Seaborn стрСмится ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ исслСдования ΠΈ понимания Π΄Π°Π½Π½Ρ‹Ρ…. Π•Π³ΠΎ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π½Π° Π½Π°Π±ΠΎΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ построСния Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с Ρ„Ρ€Π΅ΠΉΠΌΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ массивами, содСрТащими Ρ†Π΅Π»Ρ‹Π΅ Π½Π°Π±ΠΎΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ сСмантичСскоС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΡΡ‚Π°Ρ‚ΠΈΡΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΡŽ для создания ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ².

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ изобраТСния: Seaborn

4. ggplot

Ggplot — это Python-рСализация Π“Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ языка программирования R. Π­Ρ‚ΠΎ систСма для Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ создания Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, основанная Π½Π° Grammar of Graphics ΠΈ тСсно интСгрированная с Pandas. ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π΅ΠΌΡƒ рассказали, ΠΊΠ°ΠΊ ΡΠΎΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ с эстСтикой ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, ΠΎΠ½ позаботится ΠΎΠ±ΠΎ всСх дСталях. ΠœΠ΅Ρ‚ΠΎΠ΄ Ggplot Π½Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для создания сильно настраиваСмой Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ изобраТСния: r4stats.com

5. ΠΠ»ΡŒΡ‚Π°ΠΈΡ€

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Python ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Altair прСдставляСт собой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ статистичСской Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ с простым API, друТСствСнным ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ интСрфСйсом, построСнной Π½Π° основС ΠΌΠΎΡ‰Π½ΠΎΠΉ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Vega-Lite. Π”Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Π½ΡƒΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ связи ΠΌΠ΅ΠΆΠ΄Ρƒ столбцами Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΊΠ°Π½Π°Π»Π°ΠΌΠΈ кодирования, Π° ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ построСниС Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² обрабатываСтся автоматичСски. Π­Ρ‚Π° элСгантная простота позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ красивыС ΠΈ эффСктивныС Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ объСмом ΠΊΠΎΠ΄Π°. Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Altair доступСн Π½Π° GitHub.Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Altair Π»Π΅Π³ΠΊΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ эффСктивныС ΠΈ красивыС Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ количСством ΠΊΠΎΠ΄Π°.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ изобраТСния: Altair


Если Π²Π°ΠΌ ΠΏΠΎΠ½Ρ€Π°Π²ΠΈΠ»Π°ΡΡŒ эта история, ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ сообщСству Telegram.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ для нас ΠΈ ΡΡ‚Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· 500+ экспСртов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ написали ΡΡ‚Π°Ρ‚ΡŒΠΈ Π½Π° AIM. ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅ΡΡŒ своими номинациями здСсь.

Π”ΠΈΡˆΠ° Мисал

Нашла ΠΏΡƒΡ‚ΡŒ Π² Π½Π°ΡƒΠΊΡƒ ΠΎ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚, нСсмотря Π½Π° Π΅Π΅ ΡƒΠ²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ тСхнологиями.Π›ΡŽΠ±ΠΈΡ‚ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ, ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΡƒΡ‚Π±ΠΎΠ» ΠΈ Π±Π΅Π·ΠΌΠ΅Ρ€Π½ΠΎ Π»ΡŽΠ±ΠΈΡ‚ астрофизику.

БСсплатная визуализация Π΄Π°Π½Π½Ρ‹Ρ… с курсом Python ΠΎΡ‚ ΠΊΠΎΠ³Π½ΠΈΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ класса

Об этом курсС Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…

Β«ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° стоит тысячи слов». ВсС ΠΌΡ‹ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с этим Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Π­Ρ‚ΠΎ особСнно Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π°Π½Π°Π»ΠΈΠ·Π° всС Π±ΠΎΠ»Π΅Π΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… Π½Π°Π±ΠΎΡ€ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. Визуализация Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ³Ρ€Π°Π΅Ρ‚ Π²Π°ΠΆΠ½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ Π² прСдставлСнии ΠΊΠ°ΠΊ ΠΌΠ°Π»Ρ‹Ρ…, Ρ‚Π°ΠΊ ΠΈ ΠΊΡ€ΡƒΠΏΠ½ΠΎΠΌΠ°ΡΡˆΡ‚Π°Π±Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

Одним ΠΈΠ· ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… Π½Π°Π²Ρ‹ΠΊΠΎΠ² спСциалиста ΠΏΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… являСтся ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ Ρ€Π°ΡΡΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ, Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π² доступной ΠΈ ΡΡ‚ΠΈΠΌΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ Ρ„ΠΎΡ€ΠΌΠ΅. Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ инструмСнт для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Π°ΠΌ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ эффСктивныС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

Основная Ρ†Π΅Π»ΡŒ этого курса «Визуализация Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ PythonΒ» — Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ вас Π±Ρ€Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ взгляд Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ большого значСния, ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ эти Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ„ΠΎΡ€ΠΌΠ΅, понятной людям.Для Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ прСдставлСния Π΄Π°Π½Π½Ρ‹Ρ… Π±Ρ‹Π»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Π½ΠΎ Π² этом курсС ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ нСсколько Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Python, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Matplotlib, Seaborn ΠΈ Folium. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ свои собствСнныС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ Π² области Π½Π°ΡƒΠΊΠΈ ΠΎ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΡΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΡ‡Π°Ρ‚ΡŒ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ спСциалистами ΠΏΠΎ Π΄Π°Π½Π½Ρ‹ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ IBM Watson Studio. ΠŸΡ€ΠΈ рСгистрации Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ бСсплатный доступ ΠΊ Watson Studio. НачнитС сСйчас ΠΈ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ прСимущСствами этой ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° курса

ΠœΠΎΠ΄ΡƒΠ»ΡŒ 1 — Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² инструмСнты Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

  • Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ…
  • Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Matplotlib
  • Π‘Π°Π·ΠΎΠ²ΠΎΠ΅ построСниС Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Matplotlib
  • Набор Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ± ΠΈΠΌΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Π² ΠšΠ°Π½Π°Π΄Ρƒ

ΠœΠΎΠ΄ΡƒΠ»ΡŒ 2 — Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ инструмСнты Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

ΠœΠΎΠ΄ΡƒΠ»ΡŒ 3 — Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ инструмСнты Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

ΠœΠΎΠ΄ΡƒΠ»ΡŒ 4 — Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ инструмСнты Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

  • Π“Ρ€Π°Ρ„ΠΈΠΊΠΈ морского забоя ΠΈ рСгрСссии

ΠœΠΎΠ΄ΡƒΠ»ΡŒ 5 — Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°Ρ€Ρ‚ ΠΈ визуализация гСопространствСнных Π΄Π°Π½Π½Ρ‹Ρ…

ΠžΠ±Ρ‰Π°Ρ информация

  • Π­Ρ‚ΠΎΡ‚ курс бСсплатный.
  • Π‘Π°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅.
  • Π—Π°Π±Ρ€Π°Ρ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚.
  • Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ сколько ΡƒΠ³ΠΎΠ΄Π½ΠΎ Ρ€Π°Π·.

ВрСбования

ΠŸΠ΅Ρ€ΡΠΎΠ½Π°Π» курса

АлСкс Аклсон

АлСкс Аклсон, Π΄ΠΎΠΊΡ‚ΠΎΡ€ философии, спСциалист ΠΏΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π³Ρ€ΡƒΠΏΠΏΠ΅ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ бизнСса IBM Canada. АлСкс Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ участвовал Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… интСрСсных ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… Π² области Π½Π°ΡƒΠΊΠΈ ΠΎ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ систСмы, которая ΠΌΠΎΠ³Π»Π° Π±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Π½Π°Ρ‡Π°Π»ΠΎ Π΄Π΅ΠΌΠ΅Π½Ρ†ΠΈΠΈ Ρƒ ΠΏΠΎΠΆΠΈΠ»Ρ‹Ρ… людСй, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΡŒΠ½Ρ‹Π΅ Ρ‚Ρ€Π°Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ скорости Ρ…ΠΎΠ΄ΡŒΠ±Ρ‹ ΠΈ домашнСй активности.Π”ΠΎ ΠΏΡ€ΠΈΡ…ΠΎΠ΄Π° Π² IBM АлСкс Ρ€Π°Π±ΠΎΡ‚Π°Π» спСциалистом ΠΏΠΎ Π°Π½Π°Π»ΠΈΠ·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… Π² Datascope Analytics, консалтинговой Ρ„ΠΈΡ€ΠΌΠ΅ ΠΏΠΎ Π½Π°ΡƒΠΊΠ΅ ΠΎ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π§ΠΈΠΊΠ°Π³ΠΎ, ΡˆΡ‚Π°Ρ‚ Иллинойс, Π³Π΄Π΅ ΠΎΠ½ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π» Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π½Π° Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° ΠΈ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π½Π° Π΄Π°Π½Π½Ρ‹Π΅. АлСкс ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» Π΄ΠΎΠΊΡ‚ΠΎΡ€ΡΠΊΡƒΡŽ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ. ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ Π΄ΠΎΠΊΡ‚ΠΎΡ€Π° биомСдицинской ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΈΠΈ Π² УнивСрситСтС Π’ΠΎΡ€ΠΎΠ½Ρ‚ΠΎ.

Π”ΠΆΠ΅ΠΉ РадТасСкхаран

Π”ΠΆΠ΅ΠΉ РадТасСкхаран Π½Π°Ρ‡Π°Π» свою ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Ρƒ Π² качСствС ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π° ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Honeywell Aerospace, Π³Π΄Π΅ ΠΎΠ½ Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΠ» ΠΏΠΎΡ€Ρ‚Ρ„Π΅Π»Π΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… Π½Π° ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ качСства, сниТСниС Π·Π°Ρ‚Ρ€Π°Ρ‚ ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ процСссов для Boeing, Airbus ΠΈ Lockheed Martin.ВпослСдствии Π”ΠΆΠ΅ΠΉ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΡΡ с проСктирования Π½Π° Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΡƒ ΠΈ присоСдинился ΠΊ IBM Π² качСствС бизнСс-Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠ° Π² ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠΈ Infrastructure Services. Π’ настоящСС врСмя ΠΎΠ½ Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚ нСсколькими ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ… для Π°Π½Π°Π»ΠΈΠ·Π° бизнСс-ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ внСдряя ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ, Ρ‚Π°ΠΊΡƒΡŽ ​​как оптимизация Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов, ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ уровня обслуТивания ΠΈ, Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅, сниТСниС Π·Π°Ρ‚Ρ€Π°Ρ‚. Помимо своСй ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Ρ‹, Π”ΠΆΠ΅ΠΉ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ²Π»Π΅Ρ‡Π΅Π½ ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Π½ΠΈΠ΅ΠΌ — ΠΎΠ½ Π΄ΠΎΠ±Ρ€ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ€Π΅ΠΏΠ΅Ρ‚ΠΈΡ‚ΠΎΡ€ΠΎΠΌ Π² своСй общСствСнной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ ΠΈ наставником выпускников Π² УнивСрситСтС Π’ΠΎΡ€ΠΎΠ½Ρ‚ΠΎ.

Полонг Π›ΠΈΠ½

Полонг Π›ΠΈΠ½ΡŒ (Polong Lin) — спСциалист ΠΏΠΎ Π°Π½Π°Π»ΠΈΠ·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π²Π΅Π΄ΡƒΡ‰ΠΈΠΉ спСциалист Π² области Π½Π°ΡƒΠΊΠΈ ΠΎ Π΄Π°Π½Π½Ρ‹Ρ… Π² IBM Π² КанадС. Полонг являСтся соорганизатором ΠΊΡ€ΡƒΠΏΠ½Π΅ΠΉΡˆΠ΅ΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ встрСч ΠΏΠΎ Π½Π°ΡƒΠΊΠ΅ ΠΎ Π΄Π°Π½Π½Ρ‹Ρ… Π² КанадС ΠΈ рСгулярно выступаСт Π½Π° конфСрСнциях ΠΏΠΎ Π½Π°ΡƒΠΊΠ΅ ΠΎ Π΄Π°Π½Π½Ρ‹Ρ…. Полонг ΠΈΠΌΠ΅Π΅Ρ‚ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ M.Sc. Π² ΠΊΠΎΠ³Π½ΠΈΡ‚ΠΈΠ²Π½ΠΎΠΉ психологии.

Π‘Π»Π°Π³ΠΎΠ΄Π°Ρ€Π½ΠΎΡΡ‚ΡŒ

Особая Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π½ΠΎΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π°ΠΌ ΠΈ Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠ°ΠΌ Π·Π° ΠΈΡ… Ρ†Π΅Π½Π½Ρ‹ΠΉ ΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΊΠ»Π°Π΄ Π² ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΡƒΡŽ этого курса: Ehsan M.ΠšΠ΅Ρ€ΠΌΠ°Π½ΠΈ, Π‘Π»ΠΎΠ±ΠΎΠ΄Π°Π½ ΠœΠ°Ρ€ΠΊΠΎΠ²ΠΈΡ‡, Бьюзан Π›ΠΈ ΠΈ МадлСн Π¨Π°Π½.

Руководств ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π½Π° Python

Π”ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ Π² руководство ΠΏΠΎ Π°Π½Π°Π»ΠΈΠ·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½Ρ‹Ρ… Pandas .

ΠžΠ±Π»Π°ΡΡ‚ΡŒ Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½Ρ‹Ρ… довольно Π²Π΅Π»ΠΈΠΊΠ°, ΠΈ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ с Π½Π΅ΠΉ Π΄Π΅Π»Π°Ρ‚ΡŒ, скорСС всСго, Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΠΎΡ‡Π½ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΌΡƒ руководству. ИмСя это Π² Π²ΠΈΠ΄Ρƒ, я Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠΈΠΉ способ ΠΏΠΎΠ΄ΠΎΠΉΡ‚ΠΈ ΠΊ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΡŽ Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python — это просто Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅. Мой ΠΏΠ»Π°Π½ здСсь состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Π±ΠΎΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· ΠΎΠ±Ρ‰ΠΈΡ… Π·Π°Π΄Π°Ρ‡ Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠ°ΠΊΠ΅Ρ‚ Pandas, Ρ‡Ρ‚ΠΎΠ±Ρ‹, надСюсь, Π²Ρ‹ достаточно познакомились с ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½ΠΈΠΌ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ.

Для Π½Π°Ρ‡Π°Π»Π° Π΄Π°Π²Π°ΠΉΡ‚Π΅ убСдимся, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ всС Π½Π° ΠΎΠ΄Π½ΠΎΠΉ страницС.

Π― Π±ΡƒΠ΄Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Python 3.7 ΠΈ Pands 0.24.1

Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, Π²Ρ‹ смоТСтС ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ вСрсиями Π²Π΅Ρ‰Π΅ΠΉ, просто Π·Π½Π°ΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ различия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. Π― Π»ΠΈΡ‡Π½ΠΎ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ», Ρ‡Ρ‚ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Pandas я ΠΌΠΎΠ³Ρƒ с большим успСхом Π³ΡƒΠ³Π»ΠΈΡ‚ΡŒ свои ошибки.

Π˜Ρ‚Π°ΠΊ, послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ установили Python ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ установку pandas с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ°ΠΊΠ΅Ρ‚Π° , всС Π³ΠΎΡ‚ΠΎΠ²ΠΎ!

Π‘ΡƒΠ΄Π΅Ρ‚ довольно ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ установим Π² Ρ…ΠΎΠ΄Π΅ этой сСрии.Если Π²Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° ΠΊΠΎΠ΄Π΅, Π° Π½Π΅ Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ скомпилированный ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ дистрибутив Python ΠΎΡ‚ Activestate, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ всС, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ вмСстС с этой сСриСй. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ActivePython.

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€Ρ‹Π³Π½Π΅ΠΌ!

Ой, ΠΏΠΎΠ΄ΠΎΠΆΠ΄ΠΈ, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, Π½Π°ΠΌ Ρ‚ΠΎΠΆΠ΅ Π½ΡƒΠΆΠ΅Π½ Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ….

Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ Π±ΠΈΡ‚ΠΊΠΎΠΌ Π½Π°Π±ΠΈΡ‚ Π½Π°Π±ΠΎΡ€Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΈΠ· Ρ‡Π΅Π³ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ. Π― Π»ΠΈΡ‡Π½ΠΎ ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Π±ΠΎΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Kaggle .

Если Π²Ρ‹ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹, Kaggle - это сайт сорСвнований ΠΏΠΎ Π°Π½Π°Π»ΠΈΠ·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ….Π― Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Π°Π½Π°Π»ΠΈΠ·Π΅ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, Kaggle - Π»ΡƒΡ‡ΡˆΠ΅Π΅ мСсто для этого, Π΄Π°ΠΆΠ΅ Ссли Π²Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² сорСвнованиях.

МногиС, Ссли Π½Π΅ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ, сорСвнований Π½Π° Kaggle - это Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ. Π’Π°ΠΊΠΈΠ΅ ΠΆΠ΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠ°ΠΊ мСня часто просят ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ вас ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Ссли Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это Β«Π½Π΅Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹Π΅Β» ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, Π° Π½Π΅ Π±ΠΎΠ»Π΅Π΅ простыС Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Ρ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚Π΅ΡΡŒ Π² ΡƒΡ‡Π΅Π±Π½Ρ‹Ρ… пособиях.

НС Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΊ Ρ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠΌΡƒ, поэтому Π΄Π°Π²Π°ΠΉΡ‚Π΅ для Π½Π°Ρ‡Π°Π»Π° Π½Π°ΠΉΠ΄Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ простой Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ…. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ Π½Π°Π±ΠΎΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с Π½Π°Π±ΠΎΡ€ΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… Kaggle . Π’ΠΎΠ½Π½Ρ‹ вкусностСй здСсь.

Для Π½Π°Ρ‡Π°Π»Π° Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° Avocado Price . ΠΠ±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ обоТаю Π°Π²ΠΎΠΊΠ°Π΄ΠΎ! Π’Ρ‹ Π·Π½Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ Π°Π²ΠΎΠΊΠ°Π΄ΠΎ - это Ρ„Ρ€ΡƒΠΊΡ‚? НаиболСС строго классифицируСтся ΠΊΠ°ΠΊ ... ягода! ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ сСбС, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ со вкусом Β«ΡΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹Ρ… ягод», Π° Ρ‚Π°ΠΌ Π°Π²ΠΎΠΊΠ°Π΄ΠΎ. Π₯Π°!

Π’ любом случаС Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ этот Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ….Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠΉΡ‚ΠΈ / ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡƒΡ‡Π΅Ρ‚Π½ΡƒΡŽ запись, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Kaggle, Π½ΠΎ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ. Если ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ Π²Ρ‹ этого Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ… отсутствуСт, я Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Ρƒ Π΅Π³ΠΎ здСсь: Π¦Π΅Π½Ρ‹ Π½Π° Π°Π²ΠΎΠΊΠ°Π΄ΠΎ .

РаспакуйтС Ρ„Π°ΠΉΠ», ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ всС, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ для архивирования / распаковки, ΠΈ Ρƒ вас останСтся Ρ„Π°ΠΉΠ» CSV.

Π€Π°ΠΉΠ»Ρ‹ CSV

- это ΠΎΡ‡Π΅Π½ΡŒ распространСнныС Ρ‚ΠΈΠΏΡ‹ Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ ΠΏΡ€ΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° CSV ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Π΅Π½Π΄Π΅Π½Ρ†ΠΈΡŽ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΠΎ столбцам ΠΈ строкам, Π³Π΄Π΅ Π² самом Ρ„Π°ΠΉΠ»Π΅ Π΅ΡΡ‚ΡŒ значСния, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ запятыми (эй, это ΠΎΡ‚ΠΊΡƒΠ΄Π° имя CSV!?!), А Π·Π°Ρ‚Π΅ΠΌ строки Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½ΠΎΠ²Ρ‹ΠΌΠΈ строками Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅.Π˜Ρ‚Π°ΠΊ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌ этот csv с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Pandas.

А ΠΏΠΎΠΊΠ° Π΄Π°Π²Π°ΠΉΡ‚Π΅ убСдимся, Ρ‡Ρ‚ΠΎ наш Ρ„Π°ΠΉΠ» находится Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, Ρ‡Ρ‚ΠΎ ΠΈ наш скрипт Python, ΠΈΠ»ΠΈ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Ρ‚ΠΈΠΏΠ° Β«Π½Π°Π±ΠΎΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…Β». Π― Π±ΡƒΠ΄Ρƒ Π΄Π΅Π»Π°Ρ‚ΡŒ послСднСС, Π½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ всС, Ρ‡Ρ‚ΠΎ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅. Π˜Ρ‚Π°ΠΊ, для Π½Π°Ρ‡Π°Π»Π° Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ avocado.csv , ΠΈ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² pandas. Π­Ρ‚ΠΎ Ρ„Π°ΠΉΠ» CSV, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΡƒΠΆΠ΅ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ столбцов ΠΈ строк, ΠΌΡ‹ просто Ρ…ΠΎΡ‚ΠΈΠΌ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² Ρ„Ρ€Π΅ΠΉΠΌ Π΄Π°Π½Π½Ρ‹Ρ… pandas .

Для этого Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ read_csv .ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ, ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Π― ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Π² Jupyter Notebook. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ любой Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Π°ΠΌ нравится, Π½ΠΎ записныС ΠΊΠ½ΠΈΠΆΠΊΠΈ Jupyer довольно ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ для Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ просто для ΠΎΠ±Ρ‰Π΅Π³ΠΎ поиска Π΄Π°Π½Π½Ρ‹Ρ…. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ…, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто Π½Π°Π±Ρ€Π°Ρ‚ΡŒ:

pip install jupyterlab

Π—Π°Ρ‚Π΅ΠΌ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ / ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ:

лаборатория jupyter

Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»> Π½ΠΎΠ²Ρ‹ΠΉ> Π±Π»ΠΎΠΊΠ½ΠΎΡ‚, Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Python 3, ΠΈ всС Π³ΠΎΡ‚ΠΎΠ²ΠΎ! НачнСм с Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² Ρ„Π°ΠΉΠ».

3 Визуализация Π΄Π°Π½Π½Ρ‹Ρ… | R для Π½Π°ΡƒΠΊΠΈ ΠΎ Π΄Π°Π½Π½Ρ‹Ρ…

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Β«ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊ прСдоставил Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠ°ΠΌ большС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.
Ρ‡Π΅ΠΌ любоС Π΄Ρ€ΡƒΠ³ΠΎΠ΅ устройство Β». - Π”ΠΆΠΎΠ½ Вьюки

Π­Ρ‚Π° Π³Π»Π°Π²Π° Π½Π°ΡƒΡ‡ΠΈΡ‚ вас Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ggplot2. Π’ R Π΅ΡΡ‚ΡŒ нСсколько систСм построСния Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ², Π½ΠΎ ggplot2 - ΠΎΠ΄Π½Π° ΠΈΠ· самых элСгантных ΠΈ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ…. ggplot2 Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΡƒ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ , ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΡƒΡŽ систСму для описания ΠΈ построСния Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ².Π‘ ggplot2 Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ большС быстрСС, изучая ΠΎΠ΄Π½Ρƒ систСму ΠΈ примСняя Π΅Π΅ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… мСстах.

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎ тСорСтичСских основах ggplot2 ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ Π½Π°Ρ‡Π°Ρ‚ΡŒ, я Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ «Многослойная Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ° Π³Ρ€Π°Ρ„ΠΈΠΊΠΈΒ», http://vita.had.co.nz/papers/layered-grammar. pdf.

ΠŸΡ€Π΅Π΄ΠΏΠΎΡΡ‹Π»ΠΊΠΈ

Π’ этой Π³Π»Π°Π²Π΅ основноС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ удСляСтся ggplot2, ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ· основных Ρ‡Π»Π΅Π½ΠΎΠ² тидивСрсии. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π½Π°Π±ΠΎΡ€Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…, страницам справки ΠΈ функциям, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² этой Π³Π»Π°Π²Π΅, Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ тидивСрс, запустив этот ΠΊΠΎΠ΄:

  Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° (tidyverse)
#> ── ΠŸΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ──────────────────────────────────────── tidyverse 1.3.0 ──
#> βœ” ggplot2 3.3.2 βœ” ΠΌΡƒΡ€Π»Ρ‹ΠΊΠ°Ρ‚ΡŒ 0.3.4
#> βœ” tibble 3.0.3 βœ” dplyr 1.0.2
#> βœ” Ρ‚ΠΈΠ΄Ρ‹Ρ€ 1.1.2 βœ” стрингСр 1.4.0
#> βœ” readr 1.4.0 βœ” forcats 0.5.0
#> ── ΠšΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ ─────────────────────────────────────────── tidyverse_conflicts () ──
#> βœ– dplyr :: filter () маскируСт stats :: filter ()
#> βœ– dplyr :: lag () маски stats :: lag ()  

Π­Ρ‚Π° ΠΎΠ΄Π½Π° строка ΠΊΠΎΠ΄Π° Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ основной тидивСрс; ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ практичСски ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π°Π½Π°Π»ΠΈΠ·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. Он Ρ‚Π°ΠΊΠΆΠ΅ сообщаСт Π²Π°ΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ· тидивСрса ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‚ с функциями Π² Π±Π°Π·ΠΎΠ²ΠΎΠΌ R (ΠΈΠ»ΠΈ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ).

Если Π²Ρ‹ запуститС этот ΠΊΠΎΠ΄ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ сообщСниС ΠΎΠ± ошибкС «НСт ΠΏΠ°ΠΊΠ΅Ρ‚Π° с ΠΈΠΌΠ΅Π½Π΅ΠΌΒ« tidyverse »», Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ сначала ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ, Π° Π·Π°Ρ‚Π΅ΠΌ снова Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ library () .

Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, Π½ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ сСанс.

Если Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΎΡ‚ΠΊΡƒΠ΄Π° взялась функция (ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ…), ΠΌΡ‹ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠΎΠΉ package :: function () . НапримСр, ggplot2 :: ggplot () явно сообщаСт Π²Π°ΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ggplot () ΠΈΠ· ΠΏΠ°ΠΊΠ΅Ρ‚Π° ggplot2.

ΠŸΠ΅Ρ€Π²Ρ‹Π΅ шаги

Π”Π°Π²Π°ΠΉΡ‚Π΅ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ нашим ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° вопрос: Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΠΈ с большими двигатСлями ΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡŽΡ‚ большС Ρ‚ΠΎΠΏΠ»ΠΈΠ²Π°, Ρ‡Π΅ΠΌ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΠΈ с малСнькими двигатСлями? ВСроятно, Ρƒ вас ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚, Π½ΠΎ ΠΏΠΎΡΡ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ Π΄Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡Π½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚. Как выглядит взаимосвязь ΠΌΠ΅ΠΆΠ΄Ρƒ объСмом двигатСля ΠΈ Ρ‚ΠΎΠΏΠ»ΠΈΠ²Π½ΠΎΠΉ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ? Π­Ρ‚ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ? ΠžΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ? Π›ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ? НСлинСйный?

Π€Ρ€Π΅ΠΉΠΌ Π΄Π°Π½Π½Ρ‹Ρ… mpg

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ свой ΠΎΡ‚Π²Π΅Ρ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„Ρ€Π΅ΠΉΠΌΠ° Π΄Π°Π½Π½Ρ‹Ρ… mpg , Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ Π² ggplot2 (ΠΎΠ½ ΠΆΠ΅ ggplot2 :: mpg ).Π€Ρ€Π΅ΠΉΠΌ Π΄Π°Π½Π½Ρ‹Ρ… - это ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… (Π² столбцах) ΠΈ наблюдСний (Π² строках). миль Π½Π° Π³Π°Π»Π»ΠΎΠ½ содСрТит наблюдСния, собранныС АгСнтством ΠΏΠΎ ΠΎΡ…Ρ€Π°Π½Π΅ ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰Π΅ΠΉ срСды БША Π½Π° 38 модСлях Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ.

  миль на галлон
#> # Π’Π°Π±Π»ΠΈΡ†Π°: 234 x 11
#> модСль производитСля displ Π³ΠΎΠ΄ cyl trans drv cty hwy fl class
#>           
#> 1 audi a4 1.8 1999 4 Π°Π²Ρ‚ΠΎ (l5) f 18 29 p компа…
#> 2 audi a4 1.8 1999 4 ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠ° (m5) f 21 29 p compa…
#> 3 audi a4 2 2008 4 ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠ° (m6) f 20 31 p compa…
#> 4 audi a4 2 2008 4 auto (av) f 21 30 p compa…
#> 5 audi a4 2.8 1999 6 auto (l5) f 16 26 p compa…
#> 6 audi a4 2.8 1999 6 ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠ° (m5) f 18 26 p compa…
#> #… Π‘ Π΅Ρ‰Π΅ 228 строками  

Π‘Ρ€Π΅Π΄ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² миль Π½Π° Π³Π°Π»Π»ΠΎΠ½ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅:

  1. displ - объСм двигатСля автомобиля Π² Π»ΠΈΡ‚Ρ€Π°Ρ….

  2. hwy - топливная ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ автомобиля Π½Π° шоссС, Π² милях Π½Π° Π³Π°Π»Π»ΠΎΠ½ (миль Π½Π° Π³Π°Π»Π»ΠΎΠ½).
    ΠΠ²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ с Π½ΠΈΠ·ΠΊΠΈΠΌ ΠšΠŸΠ” потрСбляСт большС Ρ‚ΠΎΠΏΠ»ΠΈΠ²Π°, Ρ‡Π΅ΠΌ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ с высоким ΠšΠŸΠ”.
    топливная ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ Π΅Π΄ΡƒΡ‚ Π½Π° ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ расстояниС.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎ миль Π½Π° Π³Π°Π»Π»ΠΎΠ½ , ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ страницу справки, запустив ? Mpg .

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ggplot

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ миль Π½Π° Π³Π°Π»Π»ΠΎΠ½ , запуститС этот ΠΊΠΎΠ΄, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ displ Π½Π° ось x ΠΈ hwy Π½Π° ось y:

  ggplot (Π΄Π°Π½Π½Ρ‹Π΅ = миль Π½Π° Π³Π°Π»Π»ΠΎΠ½) +
  geom_point (ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ = aes (x = displ, y = hwy))  

Π“Ρ€Π°Ρ„ΠΈΠΊ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ объСмом двигатСля ( displ ) ΠΈ Ρ‚ΠΎΠΏΠ»ΠΈΠ²Π½ΠΎΠΉ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ ( hwy ).Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΠΈ с большими двигатСлями ΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡŽΡ‚ большС Ρ‚ΠΎΠΏΠ»ΠΈΠ²Π°. ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚ Π»ΠΈ это ΠΈΠ»ΠΈ ΠΎΠΏΡ€ΠΎΠ²Π΅Ρ€Π³Π°Π΅Ρ‚ Π²Π°ΡˆΡƒ Π³ΠΈΠΏΠΎΡ‚Π΅Π·Ρƒ ΠΎ Ρ‚ΠΎΠΏΠ»ΠΈΠ²Π½ΠΎΠΉ экономичности ΠΈ объСмС двигатСля?

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ggplot2 Π²Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚Π΅ построСниС Π³Ρ€Π°Ρ„ΠΈΠΊΠ° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ggplot () . ggplot () создаСт систСму ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ слои. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ggplot () — это Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ… для использования Π² Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅. Π˜Ρ‚Π°ΠΊ, ggplot (data = mpg) создаСт пустой Π³Ρ€Π°Ρ„ΠΈΠΊ, Π½ΠΎ это Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ интСрСсно, поэтому я Π½Π΅ ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡΡŒ Π΅Π³ΠΎ здСсь ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ.

Π’Ρ‹ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚Π΅ свой Π³Ρ€Π°Ρ„ΠΈΠΊ, добавляя ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько слоСв Π² ggplot () . Ѐункция geom_point () добавляСт слой Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ Π³Ρ€Π°Ρ„ΠΈΠΊΡƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаСт Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ рассСяния. ggplot2 поставляСтся с мноТСством Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ geom, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… добавляСт ΠΊ Π³Ρ€Π°Ρ„ΠΈΠΊΡƒ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ слоСв. Π’ этой Π³Π»Π°Π²Π΅ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ ΠΎ Π½ΠΈΡ… Ρ†Π΅Π»ΡƒΡŽ ΠΊΡƒΡ‡Ρƒ.

КаТдая функция geom Π² ggplot2 ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ mapping . Π­Ρ‚ΠΎ опрСдСляСт, ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² Π½Π°Π±ΠΎΡ€Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΡΠΎΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ с Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ свойствами.АргумСнт сопоставлСния всСгда связан с aes () , Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ x ΠΈ y aes () ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΡΠΎΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ с осями x ΠΈ y. ggplot2 ΠΈΡ‰Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π΅ data , Π² Π΄Π°Π½Π½ΠΎΠΌ случаС mpg .

ГрафичСский шаблон

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΠΌ этот ΠΊΠΎΠ΄ Π² шаблон ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ³ΠΎ использования для построСния Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ggplot2. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊ, Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ Π² скобки Ρ€Π°Π·Π΄Π΅Π»Ρ‹ Π² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄Π΅ Π½Π°Π±ΠΎΡ€ΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ geom ΠΈΠ»ΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠ΅ΠΉ сопоставлСний.

  ggplot (data = ) +
   (ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ = aes ())  

ΠžΡΡ‚Π°Π»ΡŒΠ½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ этой Π³Π»Π°Π²Ρ‹ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Π²Π°ΠΌ, ΠΊΠ°ΠΊ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ этот шаблон для создания Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ². НачнСм с ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° .

УпраТнСния

  1. Run ggplot (data = mpg) . Π§Ρ‚ΠΎ Ρ‚Ρ‹ видишь?

  2. Бколько строк Π² милях Π½Π° Π³Π°Π»Π»ΠΎΠ½ ? Бколько столбцов?

  3. Π§Ρ‚ΠΎ описываСт пСрСмСнная drv ? ΠŸΡ€ΠΎΡ‡Ρ‚ΠΈΡ‚Π΅ справку для ? миль Π½Π° Π³Π°Π»Π»ΠΎΠ½, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ
    Π²Π½Π΅.

  4. ΠŸΠΎΡΡ‚Ρ€ΠΎΠΉΡ‚Π΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ рассСяния hwy ΠΈ cyl .

  5. Π§Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚, Ссли Π²Ρ‹ построитС Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ рассСяния class vs drv ? ΠŸΠΎΡ‡Π΅ΠΌΡƒ
    ΡΡŽΠΆΠ΅Ρ‚ Π½Π΅ ΠΏΠΎΠ»Π΅Π·Π΅Π½?

ЭстСтичСскиС ΠΊΠ°Ρ€Ρ‚Ρ‹

«Наибольшая Ρ†Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρ‹ - это ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Π° заставляСт нас Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹
Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΎΠΆΠΈΠ΄Π°Π» ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ. - Π”ΠΆΠΎΠ½ Вьюки

На Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ Π½ΠΈΠΆΠ΅ ΠΎΠ΄Π½Π° Π³Ρ€ΡƒΠΏΠΏΠ° Ρ‚ΠΎΡ‡Π΅ΠΊ (Π²Ρ‹Π΄Π΅Π»Π΅Π½Π° красным), каТСтся, Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ Ρ‚Ρ€Π΅Π½Π΄Π°.Π­Ρ‚ΠΈ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ больший ΠΏΡ€ΠΎΠ±Π΅Π³, Ρ‡Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ. Как Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ эти ΠΌΠ°ΡˆΠΈΠ½Ρ‹?

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΠΈ - это Π³ΠΈΠ±Ρ€ΠΈΠ΄Ρ‹. Один ΠΈΠ· способов ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ эту Π³ΠΈΠΏΠΎΡ‚Π΅Π·Ρƒ - ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ класса для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ автомобиля. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ class Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ… миль Π½Π° Π³Π°Π»Π»ΠΎΠ½ классифицируСт Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΠΈ ΠΏΠΎ Ρ‚Π°ΠΊΠΈΠΌ Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌ, ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹Π΅, срСдниС ΠΈ Π²Π½Π΅Π΄ΠΎΡ€ΠΎΠΆΠ½ΠΈΠΊΠΈ. Если ΠΎΡ‚Π΄Π°Π»Π΅Π½Π½Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π³ΠΈΠ±Ρ€ΠΈΠ΄Π°ΠΌΠΈ, ΠΈΡ… слСдуСт отнСсти ΠΊ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹Ρ… Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ ΠΈΠ»ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΌΠ°Π»ΠΎΠ»ΠΈΡ‚Ρ€Π°ΠΆΠ½Ρ‹Ρ… Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ (ΠΈΠΌΠ΅ΠΉΡ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ эти Π΄Π°Π½Π½Ρ‹Π΅ Π±Ρ‹Π»ΠΈ собраны Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½Ρ‹Π΅ Π³Ρ€ΡƒΠ·ΠΎΠ²ΠΈΠΊΠΈ ΠΈ Π²Π½Π΅Π΄ΠΎΡ€ΠΎΠΆΠ½ΠΈΠΊΠΈ стали популярными).

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‚Ρ€Π΅Ρ‚ΡŒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ class , ΠΊ Π΄Π²ΡƒΡ…ΠΌΠ΅Ρ€Π½ΠΎΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ рассСяния, сопоставив Π΅Π΅ с эстСтикой . ЭстСтика - это Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ свойство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° вашСм участкС. ЭстСтика Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠ΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠ°ΠΊ Ρ€Π°Π·ΠΌΠ΅Ρ€, Ρ„ΠΎΡ€ΠΌΠ° ΠΈΠ»ΠΈ Ρ†Π²Π΅Ρ‚ Π²Π°ΡˆΠΈΡ… ΠΎΡ‡ΠΊΠΎΠ². Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΡƒ (ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅) ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ, измСняя значСния Π΅Π΅ эстСтичСских свойств. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ ΡƒΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ слово Β«Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β» для описания Π΄Π°Π½Π½Ρ‹Ρ…, Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ словом Β«ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒΒ» для описания эстСтичСских свойств.Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ мСняСм ΡƒΡ€ΠΎΠ²Π½ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ Ρ†Π²Π΅Ρ‚Π° Ρ‚ΠΎΡ‡ΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΡƒ малСнькой, Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠΉ ΠΈΠ»ΠΈ синСй:

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ своих Π΄Π°Π½Π½Ρ‹Ρ…, сопоставив эстСтику Π³Ρ€Π°Ρ„ΠΈΠΊΠ° с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ Π² Π½Π°Π±ΠΎΡ€Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. НапримСр, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ†Π²Π΅Ρ‚Π° Π²Π°ΡˆΠΈΡ… Ρ‚ΠΎΡ‡Π΅ΠΊ с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ class , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ класс ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹.

  ggplot (Π΄Π°Π½Π½Ρ‹Π΅ = миль Π½Π° Π³Π°Π»Π»ΠΎΠ½) +
  geom_point (ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ = aes (x = displ, y = hwy, color = class))  

(Если Π²Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ британский английский, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Hadley, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ color вмСсто color .)

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ эстСтику ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, свяТитС имя эстСтики с ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ aes () . ggplot2 автоматичСски присвоит ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ эстСтики (здСсь ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚) ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, процСсс, извСстный ΠΊΠ°ΠΊ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ . ggplot2 Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ Π»Π΅Π³Π΅Π½Π΄Ρƒ, ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‰ΡƒΡŽ, ΠΊΠ°ΠΊΠΈΠ΅ ΡƒΡ€ΠΎΠ²Π½ΠΈ ΠΊΠ°ΠΊΠΈΠΌ значСниям ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚.

По Ρ†Π²Π΅Ρ‚Π°ΠΌ Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· Π½Π΅ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… Π²Π΅Ρ‰Π΅ΠΉ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой двухмСстныС Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΠΈ. Π­Ρ‚ΠΈ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΠΈ Π½Π΅ ΠΏΠΎΡ…ΠΎΠΆΠΈ Π½Π° Π³ΠΈΠ±Ρ€ΠΈΠ΄Ρ‹, Π° Π½Π° самом Π΄Π΅Π»Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ спортивными автомобилями! Π‘ΠΏΠΎΡ€Ρ‚ΠΈΠ²Π½Ρ‹Π΅ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ большиС Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π²Π½Π΅Π΄ΠΎΡ€ΠΎΠΆΠ½ΠΈΠΊΠΈ ΠΈ ΠΏΠΈΠΊΠ°ΠΏΡ‹, Π½ΠΎ малСнькиС ΠΊΡƒΠ·ΠΎΠ²Π°, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΠΈ срСднСго ΠΈ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, Ρ‡Ρ‚ΠΎ позволяСт ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ расход Ρ‚ΠΎΠΏΠ»ΠΈΠ²Π°.ΠžΠ³Π»ΡΠ΄Ρ‹Π²Π°ΡΡΡŒ Π½Π°Π·Π°Π΄, эти Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΠΈ вряд Π»ΠΈ Π±Ρ‹Π»ΠΈ Π³ΠΈΠ±Ρ€ΠΈΠ΄Π°ΠΌΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρƒ Π½ΠΈΡ… Π±Ρ‹Π»ΠΈ большиС Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΠΈ.

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ сопоставили class с эстСтикой Ρ†Π²Π΅Ρ‚Π°, Π½ΠΎ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΡΠΎΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ class с эстСтикой Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Π’ этом случаС Ρ‚ΠΎΡ‡Π½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Π΅Π΅ ΠΊΠ»Π°ΡΡΠΎΠ²ΡƒΡŽ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ , ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ сопоставлСниС нСупорядочСнной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ (, класс ) с упорядочСнной эстСтикой (, Ρ€Π°Π·ΠΌΠ΅Ρ€ ) Π½Π΅ являСтся Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΈΠ΄Π΅Π΅ΠΉ.

  ggplot (Π΄Π°Π½Π½Ρ‹Π΅ = миль Π½Π° Π³Π°Π»Π»ΠΎΠ½) +
  geom_point (ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ = aes (x = displ, y = hwy, size = class))
#> ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: Π½Π΅ рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ дискрСтной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. 

Или ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΡΠΎΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ class с эстСтикой alpha , которая ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ Ρ‚ΠΎΡ‡Π΅ΠΊ, ΠΈΠ»ΠΈ с эстСтикой Ρ„ΠΎΡ€ΠΌΡ‹, которая управляСт Ρ„ΠΎΡ€ΠΌΠΎΠΉ Ρ‚ΠΎΡ‡Π΅ΠΊ.

  # Left
ggplot (Π΄Π°Π½Π½Ρ‹Π΅ = миль Π½Π° Π³Π°Π»Π»ΠΎΠ½) +
  geom_point (ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ = aes (x = displ, y = hwy, alpha = class))

# ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ
ggplot (Π΄Π°Π½Π½Ρ‹Π΅ = миль Π½Π° Π³Π°Π»Π»ΠΎΠ½) +
  geom_point (ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ = aes (x = displ, y = hwy, shape = class))  

Π§Ρ‚ΠΎ ΡΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ с Π²Π½Π΅Π΄ΠΎΡ€ΠΎΠΆΠ½ΠΈΠΊΠ°ΠΌΠΈ? ggplot2 Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡˆΠ΅ΡΡ‚ΡŒ Ρ„ΠΈΠ³ΡƒΡ€.По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΡ€ΠΈ использовании эстСтики Ρ„ΠΎΡ€ΠΌΡ‹ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ Π½Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ.

Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ эстСтики Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ aes () , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ²ΡΠ·Π°Ρ‚ΡŒ имя эстСтики с ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Ѐункция aes () собираСт вмСстС всС эстСтичСскиС сопоставлСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ слоСм, ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ ΠΈΡ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρƒ сопоставлСния слоя. Бинтаксис ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ x ΠΈ y : полоТСния x ΠΈ y Ρ‚ΠΎΡ‡ΠΊΠΈ сами ΠΏΠΎ сСбС ΡΠ²Π»ΡΡŽΡ‚ΡΡ эстСтикой, Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ свойствами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ для отобраТСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π΄Π°Π½Π½Ρ‹Ρ….

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ нанСсСтС Π½Π° ΠΊΠ°Ρ€Ρ‚Ρƒ эстСтику, ggplot2 позаботится ΠΎΠ±ΠΎ всСм ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΌ. Он Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ Ρ€Π°Π·ΡƒΠΌΠ½Ρ‹ΠΉ ΠΌΠ°ΡΡˆΡ‚Π°Π± для использования с эстСтикой ΠΈ строит Π»Π΅Π³Π΅Π½Π΄Ρƒ, ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‰ΡƒΡŽ соотвСтствиС ΠΌΠ΅ΠΆΠ΄Ρƒ уровнями ΠΈ значСниями. Для эстСтики x ΠΈ y ggplot2 Π½Π΅ создаСт Π»Π΅Π³Π΅Π½Π΄Ρƒ, Π½ΠΎ создаСт ΠΎΡΠ΅Π²ΡƒΡŽ линию с дСлСниями ΠΈ ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ. Линия оси дСйствуСт ΠΊΠ°ΠΊ Π»Π΅Π³Π΅Π½Π΄Π°; ΠΎΠ½ ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ соотвСтствиС ΠΌΠ΅ΠΆΠ΄Ρƒ мСстополоТСниями ΠΈ цСнностями.

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *