Исследовательский анализ данных нового набора данных о коронавирусе 2019 г.
В этом посте мы проведем простой исследовательский анализ данных набора данных Novel Corona Virus 2019. Набор данных можно найти на Kaggle. Данные содержат ежедневную информацию о количестве случаев, смертей и выздоровлении в 2019 году. Набор данных covid_19_data.csv содержит следующие столбцы:
- Sno - Серийный номер
- ObservationDate - Дата наблюдения в ММ / ДД / ГГГГ
- Провинция / штат - провинция или штат наблюдения
- Страна / регион - Страна наблюдения
- Последнее обновление - время в формате UTC, в которое строка обновляется для данной провинции или округа.
- Подтверждено - общее количество подтвержденных случаев до этой даты.
- Смерти - Общее количество смертей до этой даты.
- Выздоровевшие - общее количество вылеченных случаев до этой даты
Давайте прочитаем данные во фрейм данных 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. Спасибо за чтение!