Рубрики
Без рубрики

Описательная статистика для World GDP на душу населения с Python

Узнайте, как производить описательные статистические данные для данных ВВП с использованием методов науки Python Data.

Автор оригинала: Robin Andrews.

Единственный способ получить квалификацию в работе с данными осуществляется через опыт. Теория может быть важной, но если у вас нет приличного количества практического опыта, оно останется абстрактным, и вы будете единорусны справиться с видами вопросов, которые представляют себя, когда вы работаете с реальными данными практическим путем. Отказ Целью этих уроков является предоставление автономных сценариев, где вы можете разработать навыки науки о данных, используя реальные данные и программирование Python.

Задание:

Отображение BoxPlot для набора данных, содержащего GDP World Per на душу населения для 2017 года

Источник данных: https://www.worldometers.info/gdp/gdp-per-capita/

ВВП на душу населения

Валовой внутренний продукт (ВВП) на душу населения показывает ВВП страны, разделенный на общее количество населения. Набор данных, используемый в этом уроке списки номинального ВВП на душу населения по стране. Он также включает в себя данные для покупки паритета мощности (PPP) на душу населения, но мы не будем использовать его здесь.

Файл данных Доступен здесь: World_gdp_data_2017.

Код в этом уроке был написан в ноутбуке Jupter. Это означает, что его можно подключить последовательно использовать iPython. Если вы хотите использовать неинтерактивный Python, вы можете создать .py Файл и запустить его, как вы обычно, пропуская любые специальные директивы, такие как % load_ext nb_black Отказ Вам также может потребоваться добавить Печать заявления в некоторых ситуациях для получения вывода.

Создание описательной статистики для ВВП на душу населения с Python

# Optional auto-formatting. Installation required (`pip install nb_black`)
%load_ext nb_black

# Import required modules
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# Read data into a dataframe. The data file should be in the same directory as your script,
# or adjust the path to fit your directory structure.
# The raw data has no column headers.
df = pd.read_csv("World_GDP_Data_2017.txt", sep="\t", header=None)

# Display the first 5 items of the dataframe.
df.head()
1 Катар $128,647 $61,264 752% 0
2 Макао $115,367 $80,890 675% 1
3 Люксембург $107,641 $105,280 629% 2
4 Сингапур $94,105 $56,746 550% 3
5 Бруней $79,003 $28,572 462% 4
# Add headers so can reference the data by column name.
df.columns = ["rank", "country", "ppp", "nominal", "~world"]
df.head()
$128,647 1 752% Катар $61,264 0
$115,367 2 675% Макао $80,890 1
$107,641 3 629% Люксембург $105,280 2
$94,105 4 550% Сингапур $56,746 3
$79,003 5 462% Бруней $28,572 4

Это будет трудно работать со значениями в Номинал столбец, как они строки:

type(df.nominal[0])
str

Таким образом, мы собираемся выполнить преобразование, чтобы сделать значения числовыми.

# Convert `nominal` column data to float values using `replace` and regular expressions.
df["nominal"] = df["nominal"].replace({"\$": "", ",": ""}, regex=True).astype(int)
df.nominal.head()
0     61264
1     80890
2    105280
3     56746
4     28572
Name: nominal, dtype: int32

Теперь, когда у нас есть числовые значения для номинального ВВП, мы можем использовать различные методы для анализа и представляют данные. Мощный метод Pandas для расчета описательной статистики это Опишите () :

df.nominal.describe()
count       190.000000
mean      14303.668421
std       19155.257580
min         293.000000
25%        2008.000000
50%        5765.000000
75%       16617.000000
max      105280.000000
Name: nominal, dtype: float64

Это дает нам некоторые ключевые значения, которые дают нам представление о данных. Краткое описание значений следует:

  • Количество: Сколько точек данных были включены?
  • Среднее значение: что было среднее значение? (Среднее значение – один конкретный тип среднего.)
  • STD: Насколько широко распространены значения?
  • Мин: минимальное значение.
  • 25%: стоимость под чем 25% данных падает.
  • 50%: стоимость под какими 50% данных падает (медиана).
  • 75%: стоимость под какими 75% данных падает.
  • Макс: максимальное значение.

BoxPlot для ВВП на душу населения

Мы можем создать визуальное представление данных с использованием различных типов графика. А boxplot Это отличный способ получить ощущение того, как распределены данные, и обеспечивает простой способ понять некоторые важные свойства. Вертикальные линии, слева направо, соответствуют следующим значениям из описательной статистики выше: мин , 25% , 50% , 75% , Макс Отказ По умолчанию Матплотлиб Также показывает Выбросы Отказ Это точки данных, которые значительно лежат за пределами объема данных в любом направлении, в соответствии с установленным правилом.

plt.boxplot(df.nominal, vert=False, patch_artist=True)
plt.title("Nominal GDP per Capita 2017 in USD.")
plt.show()

Теперь, когда у нас есть BoxPlot, становится довольно легко сделать некоторые первоначальные выводы о данных. Например, мы видим, что данные положительно перекошены. Если вы еще не узнали, что это значит, просто соблюдайте, что изображение не является симметричным о средней цене (50% -ное значение из таблицы выше), и считают, что это может рассказать нам о данных. Мы посмотрим на перекос в другом уроке. Мы также можем увидеть, что существует значительное количество выбросов.

Теперь, когда у вас есть коробка данных и понимание того, что представляют различные компоненты, хорошо подумайте о том, что он говорит вам о мире ВВП. Не менее важно, считайте, что он не говорит вам. Я рекомендую вам быть предварительным в своих выходах, как общий операционный принцип, особенно если вы новичок в науке данных, но и как вы становитесь более опытными. Overconfensidence может быть серьезной проблемой в этой области, и важно понимать ограничения действительного вывода.

Этот урок показал, как создать BoxPlot и производить описательную статистику для некоторых реальных данных, используя Python. Я надеюсь, что вы нашли это интересно и полезно.

Счастливые вычисления!