Учебник по науке о данных

Анализ данных с пандами

Руководство по анализу данных с помощью Pandas.

Pandas — одна из самых важных библиотек Python. Вы можете использовать Pandas для анализа данных и предварительной обработки данных. В этом посте я рассмотрю следующие темы:

  • Загрузка набора данных
  • Изучение набора данных
  • Выбор с помощью методов loc и iloc
  • Сортировка
  • Работа с сериями
  • Фильтрация
  • Группировка

Давайте погрузимся!



Загрузка набора данных с помощью Pandas

Набор данных, который я собираюсь использовать в этом посте, — продажи видеоигр. Этот набор данных содержит список видеоигр, продажи которых превышают 100 000 копий.

Вы можете найти набор данных и блокнот здесь.

Перед загрузкой набора данных давайте импортируем библиотеку pandas.

import pandas as pd

Одним из наиболее важных этапов анализа данных является загрузка набора данных. Вы можете загрузить свой набор данных с помощью метода read.csv в Pandas. Давайте загрузим набор данных, используя метод read_csv().

games = pd.read_csv("vgsalesGlobale.csv")

Если мы хотим, мы можем указать столбец индекса, используя параметр index_col. Позвольте мне показать это.

games = pd.read_csv("vgsalesGlobale.csv", index_col = "Name")

Изучение набора данных

Вы можете использовать метод head, чтобы увидеть первые строки набора данных. Давайте посмотрим на первые 5 строк набора данных.

games.head()

В Pandas есть две структуры данных; Серия и DataFrame. Структура данных, состоящая из строк и столбцов, например Excel, называется DataFrame. DataFrame может включать в себя различные структуры данных, такие как числовые или категориальные. Другая структура данных — Series, состоящая из одного столбца.

Вы можете увидеть последние строки набора данных, используя хвостовой метод.

games.tail()

По умолчанию отображаются последние 5 строк. Вы также можете увидеть последние 10 строк.

games.tail(10)

Давайте посмотрим на количество строк набора данных с помощью метода len.

len(games)
# Outout: 
16598

Вы можете увидеть форму набора данных с помощью атрибута shape.

games.shape
# Outout: 
(16598, 10)

Вы можете увидеть типы данных столбцов с атрибутом dtype.

games.dtypes

Выбор с помощью методов loc и iloc

Вы можете увидеть любую строку в наборе данных, используя метод iloc. Допустим, мы хотим увидеть 300-ю строку. Обратите внимание, что я собираюсь написать 299 в методе iloc, потому что индексы в Python начинаются с нуля.

games.iloc[299]

Нет никого, кто не знает игру супер марио. Давайте выберем эту игру с меткой индекса. Вы можете использовать метод loc для этого.

games.loc["Super Mario Bros."]

В наборе данных есть два вида игр Super Mario, выпущенных в 1985 и 1999 годах.

Сортировка

Теперь отсортируем игры по годам с помощью метода sort_value.

games.sort_values(by = "Year").head()

Вы можете использовать возрастающий аргумент для сортировки по убыванию значений. Позвольте мне установить этот аргумент как False.

games.sort_values(by = "Year", ascending = False).head()

Вы также можете сортировать по двум столбцам. Давайте отсортируем набор данных по столбцам года и жанра.

games.sort_values(by = ["Year","Genre"]).head()

Вы также можете отсортировать набор данных по индексам.

games.sort_index().head()

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

Работа с сериями

Вы можете выбрать столбец в наборе данных. Например, давайте посмотрим на первые десять строк столбца издателя.

games["Publisher"].head(10)

Фильтрация

Иногда вам может понадобиться отфильтровать строки на основе некоторых критериев. Например, давайте посмотрим строки, жанр которых — экшн.

games[games["Genre"] == "Action"]

Есть способ фильтровать. Позвольте мне показать это. Во-первых, я собираюсь назначить фильтр переменной.

games_by_genre = games["Genre"] == "Action"

Далее, давайте отфильтруем по этой переменной.

games[games_by_genre].head()

Я получил тот же результат, что и выше. Теперь давайте создадим критерий с играми, выпущенными в 2010 году.

games_in_2010 = games["Year"] == 2010

Теперь давайте отфильтруем по двум критериям.

games[games_by_genre & games_in_2010]

Вы также можете увидеть игры, сделанные в 2010 году или в жанре экшн. Для этого можно использовать трубу.

games[games_by_genre | games_in_2010]

Вы также можете увидеть значения больше или меньше определенного значения. Например, давайте посмотрим на игры, выпущенные после 2015 года. Сначала создадим наши критерии.

after_2015 = games["Year"] > 2015

Теперь давайте отфильтруем по этой переменной.

games[after_2015]

Вы также можете указать определенный диапазон в качестве критерия. Например, давайте посмотрим игры между 2000 и 2010 годами.

mid_2000s = games["Year"].between(2000, 2010)

Теперь давайте отфильтруем по этой переменной.

games[mid_2000s]

Вы также можете фильтровать по индексам. Например, давайте посмотрим на названия игр, которые содержат спортивное слово. Обратите внимание, что команда str используется для использования строковых методов. Прежде всего, давайте преобразуем названия индексов в нижний регистр с помощью str.lower, затем найдем в них имена со словом sport с помощью метода contains.

sport_in_title = games.index.str.lower().str.contains(“sport”)

Теперь давайте отфильтруем по этой переменной.

games[sport_in_title]

Вы можете найти статистику числовых столбцов в наборе данных. Например, давайте найдем среднее значение мировых продаж.

games["Global_Sales"].mean()
#Output:0.537

Группировка данных

Вы можете группировать, используя метод groupby. Например, сгруппируем по колонке «Жанр». Во-первых, давайте создадим групповой объект.

genres = games.groupby("Genre")

Теперь давайте посмотрим на общую стоимость глобальных продаж. Я собираюсь использовать для этого метод суммы.

genres["Global_Sales"].sum()

Вы можете отсортировать значения с помощью метода sort_values.

genres["Global_Sales"].sum().sort_values(ascending = False)

Заключение

Pandas — наиболее часто используемая библиотека для предварительной обработки данных в Python. Pandas имеет гораздо больше методов. Вы можете играть с данными, как с мячом, используя Pandas. Вы можете найти этот блокнот здесь.

Вот и все. Я надеюсь, вам понравится это. Спасибо за прочтение. Не забудьте подписаться на нас на YouTube | Гитхаб | Твиттер | Каггл | LinkedIn👍





Если этот пост был полезен, пожалуйста, несколько раз нажмите кнопку аплодисментов 👏, чтобы показать мне свою поддержку 👇