python数据可视化分析全球疫情代码实现
时间: 2023-08-04 19:08:44 浏览: 127
python 疫情数据可视化
5星 · 资源好评率100%
好的,以下是使用Python进行全球疫情数据可视化分析的代码实现。在这里,我们使用了pandas、matplotlib和Plotly库。
首先,我们需要获取全球疫情数据。在这里,我们使用了Johns Hopkins大学提供的COVID-19仪表板数据。可以通过下面的代码从GitHub上获取数据:
```python
import pandas as pd
url = 'https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/' \
'csse_covid_19_data/csse_covid_19_time_series/' \
'time_series_covid19_confirmed_global.csv'
df_confirmed = pd.read_csv(url)
```
接下来,我们可以对数据进行一些处理,以便进行可视化分析。在这里,我们将数据按国家/地区分组,并计算每个国家/地区的总病例数:
```python
df_confirmed = df_confirmed.groupby('Country/Region').sum().reset_index()
```
接下来,我们可以使用matplotlib来绘制全球疫情的趋势图,以显示每日新增病例数和死亡人数的变化。以下是绘制每日新增病例数的代码:
```python
import matplotlib.pyplot as plt
dates = df_confirmed.columns[4:]
total_confirmed = df_confirmed[dates].sum(axis=0)
new_cases = []
for i in range(len(total_confirmed)):
if i == 0:
new_cases.append(total_confirmed[i])
else:
new_cases.append(total_confirmed[i] - total_confirmed[i-1])
fig, ax = plt.subplots(figsize=(12, 8))
ax.bar(dates, new_cases)
ax.set_xlabel('Date')
ax.set_ylabel('New cases')
ax.set_title('Global daily new confirmed cases')
plt.xticks(rotation=90)
plt.show()
```
接下来,我们可以使用Plotly来创建交互式图表。以下是使用Plotly创建热力图的代码:
```python
import plotly.express as px
df_confirmed_long = pd.melt(df_confirmed, id_vars=['Country/Region'], value_vars=dates, var_name='Date', value_name='Confirmed')
df_confirmed_long['Date'] = pd.to_datetime(df_confirmed_long['Date'])
fig = px.choropleth(df_confirmed_long, locations='Country/Region', locationmode='country names',
color='Confirmed', hover_name='Country/Region', animation_frame='Date',
projection='natural earth', range_color=[0, df_confirmed_long['Confirmed'].max()],
title='Global confirmed cases')
fig.show()
```
这段代码将数据转换为长格式,然后使用Plotly的choropleth函数创建热力图。我们还可以使用其他Plotly函数和参数来创建不同类型的图表。
以上是使用Python进行全球疫情数据可视化分析的简单示例代码,您可以根据自己的需求和喜好进行进一步的修改和优化。
阅读全文