рдкрд╛рдпрдерди рдореЗрдВ 2019-nCoV рдкреНрд░рдХрд╛рд░ рдХреЗ рдПрдХ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдХреЛрд░реЛрдирд╛рд╡рд╛рдпрд░рд╕ рд╡рд┐рддрд░рдг рдорд╛рдирдЪрд┐рддреНрд░ рдХрд╛ рд╡рд┐рдХрд╛рд╕

рдЪреАрдиреА рд╢рд╣рд░ рд╡реБрд╣рд╛рди рдореЗрдВ рдкреНрд░рдХреЛрдк рдХреЗ рдмрд╛рдж рдХреЛрд░реЛрдиреЛрд╡рд╛рдпрд░рд╕ рдкреНрд░рдХрд╛рд░ 2019-nCoV, рджреБрдирд┐рдпрд╛ рднрд░ рдореЗрдВ рддреЗрдЬреА рд╕реЗ рдлреИрд▓ рд░рд╣рд╛ рд╣реИред рдореВрд▓ рд▓реЗрдЦ (30 рдЬрдирд╡рд░реА, 2020) рд▓рд┐рдЦрддреЗ рд╕рдордп 9,000 рд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрдХреНрд░рдорд┐рдд рдФрд░ 213 рдореГрддрдХреЛрдВ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХреА рдЧрдИ рдереА, рдЖрдЬ (10 рдлрд░рд╡рд░реА, 2020) рддрдХ, 40,570 рд╕рдВрдХреНрд░рдорд┐рдд рдкрд╣рд▓реЗ рд╣реА рд░рд┐рдкреЛрд░реНрдЯ рдХрд┐рдП рдЬрд╛ рдЪреБрдХреЗ рд╣реИрдВ, 910 рд▓реЛрдЧреЛрдВ рдХреА рдореМрдд рд╣реЛ рдЪреБрдХреА рд╣реИред рдлреНрд░рд╛рдВрд╕, рдСрд╕реНрдЯреНрд░реЗрд▓рд┐рдпрд╛, рд░реВрд╕, рдЬрд╛рдкрд╛рди, рд╕рд┐рдВрдЧрд╛рдкреБрд░, рдорд▓реЗрд╢рд┐рдпрд╛, рдЬрд░реНрдордиреА, рдЗрдЯрд▓реА, рд╢реНрд░реАрд▓рдВрдХрд╛, рдХрдВрдмреЛрдбрд┐рдпрд╛, рдиреЗрдкрд╛рд▓ рдФрд░ рдХрдИ рдЕрдиреНрдп рджреЗрд╢реЛрдВ рдореЗрдВ рдХреЛрд░реЛрдирд╛рд╡рд╛рдпрд░рд╕ рд╕рдВрдХреНрд░рдордг рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИред рд╡рд╛рдпрд░рд╕ рдХрдм рдмрдВрдж рд╣реЛрдЧрд╛ рдХрд┐рд╕реА рдХреЛ рдирд╣реАрдВ рдкрддрд╛ред рдЗрд╕ рдмреАрдЪ, рдХреЛрд░реЛрдирд╛рд╡рд╛рдпрд░рд╕ рдХреЗ рдкреБрд╖реНрдЯ рдорд╛рдорд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗрд╡рд▓ рдмрдврд╝ рд░рд╣реА рд╣реИред

рдЖрдЬ рд╣рдо рдЬрд┐рд╕ рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЙрд╕рдХреЗ рд▓реЗрдЦрдХ рдХреЛрд░реЛрдиреЛрд╡рд╛рдпрд░рд╕ рдХреЗ рдкреНрд░рд╕рд╛рд░ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рдпрдерди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдХреИрд╕реЗ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЗрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд░ рдХрд╛рдо рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдкрд╛рдардХ рдХреЗ рдкрд╛рд╕ рдПрдХ HTML рдкреГрд╖реНрда рд╣реЛрдЧрд╛ рдЬреЛ рд╡рд╛рдпрд░рд╕ рдХреЗ рдкреНрд░рд╕рд╛рд░ рдХрд╛ рдПрдХ рдорд╛рдирдЪрд┐рддреНрд░ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╕реНрд▓рд╛рдЗрдбрд░ рдЬреЛ рдЖрдкрдХреЛ рдЙрд╕ рджрд┐рдирд╛рдВрдХ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдбреЗрдЯрд╛ рдорд╛рдирдЪрд┐рддреНрд░ рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИред


2019-nCoV

рдЯреЗрдХреНрдиреЛрд▓реЙрдЬреАрдЬ рдЬреИрд╕реЗ рдкрд╛рдпрдерди 3.7, рдкрдВрдбреЛрдВ, рдкреНрд▓реЙрдЯрд▓реА 4.1.0 рдФрд░ рдЬреНрдпреВрдкрд┐рдЯрд░ рдиреЛрдЯрдмреБрдХ рдХреЗ рд╡рд┐рддрд░рдг рдХрд╛ рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡ рдорд╛рдирдЪрд┐рддреНрд░ рдпрд╣рд╛рдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЖрдпрд╛рдд рдХрд░реЗрдВ


рдЖрдЗрдП рдЬреНрдпреВрдкрд┐рдЯрд░ рдиреЛрдЯрдмреБрдХ, рдкреНрд▓реЙрдЯрд▓реА рдФрд░ рдкрдВрдбрд╛рд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЖрдпрд╛рдд рдХрд░рдХреЗ рд╢реБрд░реВ рдХрд░реЗрдВред

import plotly.offline as go_offline
import plotly.graph_objects as go
import pandas as pd

рдЖрдЧреЗ рдмрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдХреЛрдб рдЪрд▓рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдпрджрд┐ рдЖрдкрдиреЗ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИ, рддреЛ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рдЧрдП рд╣реИрдВ рдФрд░ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдпрджрд┐ рдХреЛрдб рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛ рд╣реИ, рддреЛ рдкреНрд▓реЙрдЯрд▓реА рдФрд░ рдкрдВрдбреЛрдВ рдХреЗ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдкреГрд╖реНрдареЛрдВ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ рдФрд░ рдЗрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрджрд░реНрдн рдФрд░ рд╕реНрдерд╛рдкрдирд╛ рд╕рд╛рдордЧреНрд░реА рдкрдврд╝реЗрдВред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЖрдкрдХреЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рдЬреНрдпреВрдкрд┐рдЯрд░ рдиреЛрдЯрдмреБрдХ рд╕рд┐рд╕реНрдЯрдо рдирд╣реАрдВ рд╣реИ, рддреЛ рдореИрдВ Google рдХреЛрд▓рд╛рдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ , рдЬреЛ рдХреНрд▓рд╛рдЙрдб-рдЖрдзрд╛рд░рд┐рдд рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЬреБрдкрд┐рдЯрд░ рдиреЛрдЯрдмреБрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдбрд╛рдЯрд╛ рдкреНрд░рд╛рд╕реЗрд╕рд┐рдВрдЧ


рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдпрд╣рд╛рдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдбреЗрдЯрд╛ рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред рдпрд╣ Google рдбреЙрдХреНрд╕ рдХреА рдПрдХ рд╕рд╛рдЭрд╛ рд╕реНрдкреНрд░реЗрдбрд╢реАрдЯ рд╣реИ рдЬрд┐рд╕реЗ рджреИрдирд┐рдХ рд░реВрдк рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрди рд╕рднреА рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж рдЬреЛ рдЗрд╕реЗ рдЕрджреНрдпрддрд┐рдд рд░рдЦрддреЗ рд╣реИрдВ! рдЖрдк рдмрд╣реБрдд рдЬрд░реВрд░реА рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рд╣рдо рдкрдВрдбреЛрдВ рдХреА рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдбреЗрдЯрд╛ рдХреЛ рдкрдврд╝реЗрдВрдЧреЗ read_csvред рд▓реЗрдХрд┐рди рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЗрд╕рдХреЗ рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╣рдореЗрдВ рдЗрд╕ рд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЕрдм рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ: рд╣рдореЗрдВ рд▓рд┐рдВрдХ рдХреЗ рдЪрдпрдирд┐рдд рдЯреБрдХрдбрд╝реЗ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдЬрд┐рд╕рд╕реЗ рд▓рд┐рдВрдХ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ: рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдореЗрдВ, рд╣рдо рдЗрд╕рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдВрдХ рдХреЛ рд▓рд┐рдЦрдХрд░ рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВ, рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдбреЗрдЯрд╛ рдХреЛ рдкрдврд╝рддреЗ рд╣реИрдВ рдФрд░ рдорд╛рдиреЛрдВ рдХреЛ рдЦрд╛рд▓реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд▓рд┐рдЦрддреЗ рд╣реИрдВ ред

https://docs.google.com/spreadsheets/d/18X1VM1671d99V_yd-cnUI1j8oSG2ZgfU_q1HfOizErA/edit#gid=0



https://docs.google.com/spreadsheets/d/18X1VM1671d99V_yd-cnUI1j8oSG2ZgfU_q1HfOizErA/export?format=csv&id

urlread_csvNaN0

url='https://docs.google.com/spreadsheets/d/18X1VM1671d99V_yd-cnUI1j8oSG2ZgfU_q1HfOizErA/export?format=csv&id'
data=pd.read_csv(url)
data=data.fillna(0)

рдпрд╣ рд╕рдордЭрдирд╛ рдХрд┐ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдВ рдЬреЛ рд╣рдо рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд╕рдВрд░рдЪрд┐рдд рд╣реИрдВ, рдХрд╛рдо рдХреЗ рдЗрд╕ рдЪрд░рдг рдореЗрдВ рдмреЗрд╣рдж рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛ рджреЗрдЦреЗрдВ data.head()ред рдЗрд╕рд╕реЗ рддрд╛рд▓рд┐рдХрд╛ рдХреА рдкрд╣рд▓реА 5 рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛ред


рдХреЛрд░реЛрдирд╛рд╡рд╛рдпрд░рд╕ рдбреЗрдЯрд╛ рдХреА рдкрд╣рд▓реА 5 рдкрдВрдХреНрддрд┐рдпрд╛рдБ

рдирд┐рдЪрд▓реЗ рдмрд╛рдПрдБ рдХреЛрдиреЗ рдореЗрдВ рдЖрдк рдЬрд╛рдирдХрд╛рд░реА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдбреЗрдЯрд╛ рдЯреЗрдмрд▓ рдореЗрдВ 47 рдХреЙрд▓рдо рд╣реИрдВред рдпрд╣рд╛рдБ рдкрд╣рд▓реЗ рдкрд╛рдВрдЪ рд╕реНрддрдВрднреЛрдВ рдХреЗ рдирд╛рдо рд╣реИрдВ:country,location_id,location,latitudeрдФрд░longitudeред рдЕрдиреНрдп рд╕реНрддрдВрдн рдЬреЛрдбрд╝реЗ рд╣реИрдВ рдЬрд┐рдирдХреЗ рдирд╛рдо рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдирд┐рд░реНрдорд┐рдд рд╣реИрдВ:confirmedcase_dd-mm-yyyyрдФрд░deaths_dd-mm-yyyyред рдЗрд╕ рд╕рд╛рдордЧреНрд░реА рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд╕рдордп рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдХреБрд▓ рд╕реНрддрдВрднреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ 47 рдереАред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдореЗрд░реЗ рдирд┐рдкрдЯрд╛рди рдореЗрдВ 21 рджрд┐рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдерд╛ ((47-5) / 2 = 21)ред рдпрджрд┐ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд░рдВрдн рддрд┐рдерд┐ 10.01.2020 рдереА, рддреЛ рдЕрдВрддрд┐рдо рддрд┐рдерд┐ 30.01.2020 рдереАред

рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдкрд╣рд▓реЗ рдкрд╛рдБрдЪ рд╕реНрддрдВрднреЛрдВ рдХреЗ рдирд╛рдо рдирд╣реАрдВ рдмрджрд▓рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдирдП рдирд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рд╕рдордп рд╕реНрддрдВрднреЛрдВ рдХреЛ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЬреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╣рдорд╛рд░рд╛ рдЗрдВрдЯрд░реЗрдХреНрдЯрд┐рд╡ рдорд╛рдирдЪрд┐рддреНрд░ рдХреНрдпрд╛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдЧрд╛ рдпрд╣ рдХреЛрд░реЛрдиреЛрд╡рд╛рдпрд░рд╕ рдХреЗ рд╡рд┐рддрд░рдг рдХрд╛ рдПрдХ рджреГрд╢реНрдп рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЙрд╕ рджрд┐рди рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдирдХреНрд╢рд╛ рдмрдирддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рджрд┐рди рдХреЗ рд▓рд┐рдП рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЪрдпрди рдХрд░рдХреЗ рдФрд░ рдЦрд╛рддреЗ рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдкрд╣рд▓реЗ 5 рдХреЙрд▓рдореЛрдВ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдХрд┐ рд╣рд░ рджрд┐рди рджреЛ рдХреЙрд▓рдореЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдХреЗ рдкреВрд░реЗ рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдлрд┐рд░, рдпрджрд┐ рдЖрдк рдбреЗрдЯрд╛ рдХреЛ рдХрд░реАрдм рд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 10.01.2020 рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛, рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдХрдИ рддрд╛рд░реАрдЦреЗрдВ рдЗрд╕ рддрд┐рдерд┐ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕ рддрд┐рдерд┐ рдореЗрдВ рдХреЛрд░реЛрдиреЛрд╡рд╛рдпрд░рд╕ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдкреБрд╖реНрдЯрд┐ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рд╕реНрдерд╛рди рдкрд░ рдХреА рдЧрдИ рдереА, рдЬреЛ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрдЦреНрдпрд╛ рджреНрд╡рд╛рд░рд╛ рдЪрд┐рд╣реНрдирд┐рдд рд╣реИред рдЗрд╕ рддрд┐рдерд┐ рдХреА рдЕрдиреНрдп рд╕рднреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдХреЗрд╡рд▓ рд╢реВрдиреНрдп рд╣реИрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм,рд╣рдореЗрдВ рдорд╛рдирдЪрд┐рддреНрд░ рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдЗрди рд░реЗрдЦрд╛рдУрдВ рдХреЛ рдмрд╛рд╣рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдПрдХ рдЪрдХреНрд░ рдореЗрдВ рдХреА рдЬрд╛рддреА рд╣реИред

#  
fig=go.Figure()
col_name=data.columns
n_col=len(data.columns)
date_list=[]
init=4
n_range=int((n_col-5)/2)

#,          
for i in range(n_range):
    col_case=init+1
    col_dead=col_case+1
    init=col_case+1
    df_split=data[['latitude','longitude','country','location',col_name[col_case],col_name[col_dead]]]
    df=df_split[(df_split[col_name[col_case]]!=0)]
    lat=df['latitude']
    lon=df['longitude']
    case=df[df.columns[-2]].astype(int)
    deaths=df[df.columns[-1]].astype(int)
    df['text']=df['country']+'<br>'+df['location']+'<br>'+'confirmed cases: '+ case.astype(str)+'<br>'+'deaths: '+deaths.astype(str)
    date_label=deaths.name[7:17]
    date_list.append(date_label)
    
    #  Scattergeo
    fig.add_trace(go.Scattergeo(
    name='',
    lon=lon,
    lat=lat,
    visible=False,
    hovertemplate=df['text'],
    text=df['text'],
    mode='markers',
    marker=dict(size=15,opacity=0.6,color='Red', symbol='circle'),
    ))

рдСрдкрд░реЗрд╢рди рдХреЗ рджреМрд░рд╛рди, рдкреНрд░рддреНрдпреЗрдХ рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдХреИрдЯрд░рдЧреЗрдУ рдЧреНрд░рд╛рдл рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ fig.add_traceред рд▓реЗрдЦрди рдХреЗ рд╕рдордп, рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдбреЗрдЯрд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг 21 рд╡рд╕реНрддреБрдУрдВ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЖрдк рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ fig.dataред

рд╕реНрд▓рд╛рдЗрдбрд░ рдирд┐рд░реНрдорд╛рдг


рдпрд╣рд╛рдВ рд╣рдо рдПрдХ рд╕реНрд▓рд╛рдЗрдбрд░ рдмрдирд╛рдПрдВрдЧреЗ рдЬрд┐рд╕рдХреА рдорджрдж рд╕реЗ рдорд╛рдирдЪрд┐рддреНрд░ рдкрд░ рджреЗрдЦреЗ рдЧрдП рдбреЗрдЯрд╛ рдХрд╛ рдЪрдпрди рд╡реНрдпрд╡рд╕реНрдерд┐рдд рд╣реИред рдпрд╣рд╛рдБ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдХреЛрдб рд╣реИ:

# 
steps = []
for i in range(len(fig.data)):
    step = dict(
        method="restyle",
        args=["visible", [False] * len(fig.data)],
        label=date_list[i],
    )
    step["args"][1][i] = True  #  i-     "visible"
    steps.append(step)
    
sliders = [dict(
    active=0,
    currentvalue={"prefix": "Date: "},
    pad={"t": 1},
    steps=steps
)]

рд╕реНрд▓рд╛рдЗрдбрд░ рдХреЛрдб рдореЗрдВ рджреЛ рдореБрдЦреНрдп рдЯреБрдХрдбрд╝реЗ рд╣реЛрддреЗ рд╣реИрдВред рдкрд╣рд▓рд╛ рдПрдХ рд▓реВрдк рд╣реИ рдЬрд┐рд╕рдореЗрдВ stepsрд╕реНрд▓рд╛рдЗрдбрд░ рд╕реНрд▓рд╛рдЗрдбрд░ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╕рдордп рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╕реВрдЪреА рдЖрдмрд╛рдж рд╣реИ ред рдЬрдм рдЖрдк рд╕реНрд▓рд╛рдЗрдбрд░ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рдВрдмрдВрдзрд┐рдд рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХреА рдХрд▓реНрдкрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░ рдЬреЛ рдЫрд┐рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡рд╣ рдкрд╣рд▓реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИред рдХреЛрдб рдХрд╛ рджреВрд╕рд░рд╛ рднрд╛рдЧ stepsрд╕реНрд▓рд╛рдЗрдбрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдирд┐рд░реНрдорд┐рдд рд╕реВрдЪреА рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИред рдЬрдм рд╕реНрд▓рд╛рдЗрдбрд░ рдЪрд▓рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЗрд╕реА рддрддреНрд╡ рдХреЛ рдЪреБрдирддрд╛ рд╣реИ stepsред

рдореИрдк рдЖрдЙрдЯрдкреБрдЯ рдФрд░ рдЗрд╕реЗ HTML рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВ


рдЕрдм рд╣рдо рд╕рд╛рдордЧреНрд░реА рдХреЗ рдЕрдВрддрд┐рдо рднрд╛рдЧ рдкрд░ рдЖрддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рд╣рдо рдорд╛рдирдЪрд┐рддреНрд░ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдФрд░ рдЗрд╕реЗ HTML рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рдХреЛрдб рд╣реИ рдХрд┐ рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ:

#    
fig.data[0].visible=True

#       HTML
fig.update_layout(sliders=sliders,title='Coronavirus Spreading Map'+'<br>geodose.com',height=600)
fig.show()
go_offline.plot(fig,filename='F:/html/map_ncov.html',validate=True, auto_open=False)

рдЬрдм рдПрдХ рдорд╛рдирдЪрд┐рддреНрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкрд╣рд▓реЗ рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХрд╛ рдПрдХ рджреГрд╢реНрдп рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред рдлрд┐рд░ рд╣рдо рд╕реНрд▓рд╛рдЗрдбрд░ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдореИрдк рдЕрдкрдбреЗрдЯ рдХреА рд╕рд╛рдордЧреНрд░реА рдмрдирд╛рддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рд╣рдордиреЗ рдореИрдк рдХрд╛ рд╢реАрд░реНрд╖рдХ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреА рдКрдВрдЪрд╛рдИ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдЕрдВрддрд┐рдо рдЪрд░рдг рдореЗрдВ, рд╣рдо рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдорд╛рдирдЪрд┐рддреНрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ fig.show, рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ HTML рдореЗрдВ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВ go_offline.plotред

рдкреВрд░реНрдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛрдб


рдпрд╣рд╛рдВ 2019-nCoV рдкреНрд░рдХрд╛рд░ рдХреЗ рдХреЛрд░реЛрдирд╛рд╡рд╛рдпрд░рд╕ рд╡рд┐рддрд░рдг рдорд╛рдирдЪрд┐рддреНрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛрдб рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдирдХреНрд╢реЗ рдХреЗ HTML рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ, рд╡рд╣рд╛рдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкрде рдХреА рдЬрдЧрд╣ред

import plotly.offline as go_offline
import plotly.graph_objects as go
import pandas as pd

# 
url='https://docs.google.com/spreadsheets/d/18X1VM1671d99V_yd-cnUI1j8oSG2ZgfU_q1HfOizErA/export?format=csv&id'
data=pd.read_csv(url)
data=data.fillna(0)

#  
fig=go.Figure()
col_name=data.columns
n_col=len(data.columns)
date_list=[]
init=4
n_range=int((n_col-5)/2)

#,          
for i in range(n_range):
    col_case=init+1
    col_dead=col_case+1
    init=col_case+1
    df_split=data[['latitude','longitude','country','location',col_name[col_case],col_name[col_dead]]]
    df=df_split[(df_split[col_name[col_case]]!=0)]
    lat=df['latitude']
    lon=df['longitude']
    case=df[df.columns[-2]].astype(int)
    deaths=df[df.columns[-1]].astype(int)
    df['text']=df['country']+'<br>'+df['location']+'<br>'+'confirmed cases: '+ case.astype(str)+'<br>'+'deaths: '+deaths.astype(str)
    date_label=deaths.name[7:17]
    date_list.append(date_label)
    
    #  Scattergeo
    fig.add_trace(go.Scattergeo(
    name='',
    lon=lon,
    lat=lat,
    visible=False,
    hovertemplate=df['text'],
    text=df['text'],
    mode='markers',
    marker=dict(size=15,opacity=0.6,color='Red', symbol='circle'),
    ))


# 
steps = []
for i in range(len(fig.data)):
    step = dict(
        method="restyle",
        args=["visible", [False] * len(fig.data)],
        label=date_list[i],
    )
    step["args"][1][i] = True  #  i-     "visible"
    steps.append(step)
    
sliders = [dict(
    active=0,
    currentvalue={"prefix": "Date: "},
    pad={"t": 1},
    steps=steps
)]

#    
fig.data[0].visible=True

#       HTML
fig.update_layout(sliders=sliders,title='Coronavirus Spreading Map'+'<br>geodose.com',height=600)
fig.show()
go_offline.plot(fig,filename='F:/html/map_ncov_slider.html',validate=True, auto_open=False)

рд╕рд╛рд░рд╛рдВрд╢


рд╣рдордиреЗ рдХреЛрд░реЛрдиреЛрд╡рд╛рдпрд░рд╕ рдкреНрд░рдХрд╛рд░ 2019-nCoV рдХреЗ рд╡рд┐рддрд░рдг рдХреА рдХрд▓реНрдкрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдВрдЯрд░реЗрдХреНрдЯрд┐рд╡ рдорд╛рдирдЪрд┐рддреНрд░ рдмрдирд╛рдиреЗ рдкрд░ рдПрдХ рдЧрд╛рдЗрдб рдХреА рд╕рдореАрдХреНрд╖рд╛ рдкреВрд░реА рдХреА рд╣реИред рдЗрд╕ рд╕рд╛рдордЧреНрд░реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдиреЗ рд╕реАрдЦрд╛ рдХрд┐ Google рдХреЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реНрдкреНрд░реЗрдбрд╢реАрдЯ рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рдХреИрд╕реЗ рдкрдврд╝рд╛ рдЬрд╛рдП, рдкрдВрдбреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рдХреИрд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рдФрд░ рд╕реНрд▓рд╛рдЗрдбрд░ рдФрд░ рдкреНрд▓реЙрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрдВрдЯрд░реЗрдХреНрдЯрд┐рд╡ рдорд╛рдирдЪрд┐рддреНрд░ рдкрд░ рдЗрд╕ рдбреЗрдЯрд╛ рдХреА рдХрд▓реНрдкрдирд╛ рдХреИрд╕реЗ рдХреА рдЬрд╛рдПред HTML рдкреЗрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдпрд╣рд╛рдВ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИредред рдорд╛рдирдЪрд┐рддреНрд░ рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдЬрд╛рдирдХрд╛рд░реА рдбреЗрдЯрд╛ рдЯреЗрдмрд▓ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИред рд╣рд░ рдмрд╛рд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдирдХреНрд╢рд╛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЯреЗрдмрд▓ рд╕реЗ рддрд╛рдЬрд╛ рдбреЗрдЯрд╛ рдЙрд╕ рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдирдХреНрд╢рд╛ рд╣реИред рдЗрд╕рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рд░реЗрдЦрд╛рдВрдХрди, рдХреБрдЫ рд╕рд╛рд░рд╛рдВрд╢ рдбреЗрдЯрд╛, рдФрд░ рдЗрд╕реА рддрд░рд╣ рд╕реЗ рдкреВрд░рдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдпрд╣ рд╕рдм рдФрд░ рдмрд╣реБрдд рдХреБрдЫ рдЦреБрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ! рдЖрдк рдЬреБрдкрд┐рдЯрд░ рдиреЛрдЯрдмреБрдХ рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВ?

Source: https://habr.com/ru/post/undefined/


All Articles