Исследовательский анализ данных нового набора данных о коронавирусе 2019 г.

В этом посте мы проведем простой исследовательский анализ данных набора данных Novel Corona Virus 2019. Набор данных можно найти на Kaggle. Данные содержат ежедневную информацию о количестве случаев, смертей и выздоровлении в 2019 году. Набор данных covid_19_data.csv содержит следующие столбцы:

  1. Sno - Серийный номер
  2. ObservationDate - Дата наблюдения в ММ / ДД / ГГГГ
  3. Провинция / штат - провинция или штат наблюдения
  4. Страна / регион - Страна наблюдения
  5. Последнее обновление - время в формате UTC, в которое строка обновляется для данной провинции или округа.
  6. Подтверждено - общее количество подтвержденных случаев до этой даты.
  7. Смерти - Общее количество смертей до этой даты.
  8. Выздоровевшие - общее количество вылеченных случаев до этой даты

Давайте прочитаем данные во фрейм данных Pandas:

import pandas as pd
df = pd.read_csv("covid_19_data.csv")

Напечатаем первые пять строк данных:

print(df.head())

Первое, что мы можем сделать, это сгенерировать некоторую статистику в столбце «Подтверждено». Давайте посмотрим на среднее значение и стандартное отклонение в подтвержденных случаях:

print("Mean: ", df['Confirmed'].mean())
print("Standard Deviation: ", df['Confirmed'].std())

Мы также можем создать гистограмму подтвержденных совокупных случаев:

import seaborn as sns 
import matplotlib.pyplot as plt
sns.set()
plt.title("Confimed Cases Histogram")
df['Confirmed'].hist(bins = 10)

Мы можем генерировать аналогичную статистику для вылеченных случаев:

print("Mean: ", df['Recovered'].mean())
print("Standard Deviation: ", df['Recovered'].std())

И постройте гистограмму:

plt.title("Recovered Cases Histogram")
sns.set()
df['Recovered'].hist(bins = 200)

И, наконец, мы можем взглянуть на статистику смертей:

print("Mean: ", df['Deaths'].mean())
print("Standard Deviation: ", df['Deaths'].std())

А также гистограмма:

plt.title("Deaths Histogram")
sns.set()
df['Deaths'].hist(bins = 200)

Мы также можем посмотреть частоту в провинции / штате с помощью метода «Счетчик» из модуля коллекций:

from collections import Counter
print(Counter(df['Province/State'].values))

Давайте отбросим пропущенные значения и ограничим счетчик выводом только пяти наиболее распространенных провинций:

df.dropna(inplace=True)
print(Counter(df['Province/State'].values).most_common(5))

Мы также можем использовать коробчатые диаграммы для визуализации распределения в числовых значениях на основе минимума, максимума, медианы, первого квартиля и третьего квартиля. Если вы с ними не знакомы, прочтите статью Понятие коробчатых графиков.

Например, давайте изобразим распределение подтвержденных случаев для «Аньхой», «Пекин» и «Чунцин»:

df = df[df['Province/State'].isin(['Anhui', 'Beijing', 'Chongqing'])]
sns.boxplot(x= df['Province/State'], y = df['Confirmed'])
plt.show()

Мы можем сделать то же самое для восстановленных случаев:

df = df[df['Province/State'].isin(['Anhui', 'Beijing', 'Chongqing'])]
sns.boxplot(x= df['Province/State'], y = df['Recovered'])
plt.show()

И на смерть:

df = df[df['Province/State'].isin(['Anhui', 'Beijing', 'Chongqing'])]
sns.boxplot(x= df['Province/State'], y = df['Deaths'])
plt.show()

На этом я остановлюсь, но вы можете поиграть с данными и написать код самостоятельно. Код из этого поста доступен на GitHub. Спасибо за чтение!