machinelearningmastery.ru

Машинное обучение, нейронные сети, искусственный интеллект
Header decor

Home

Python для науки о данных: часть 4

Дата публикации Aug 19, 2018

ВЧасть 3 из серии «Питон для науки о данных»мы рассмотрели библиотеку pandas и ее наиболее часто используемые функции - чтение и запись файлов, индексирование, объединение, агрегирование, фильтрацию и т. д. В этой части мы продолжим углубленное изучение библиотеки Pandas и посмотрим, как это можно сделать. используется вместе с другими функциями Python для запросов к фреймам данных.

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

import pandas as pd
import os
import numpy as np

Теперь установите рабочий каталог и импортируйте набор данных iris.

os.chdir('C:\\Users\\rohan\\Documents\\Analytics\\Data')
a = pd.read_csv('iris.csv')
a.head()

Выход :

1. Описательная статистика числовых столбцов

Суммируйте (среднее, стандартное отклонение, минимальное, максимальное и т. Д.) Числовые столбцы набора данных, используя функцию описания.

a.describe()

Выход :

2. Создайте столбец на основе условий

Давайте создадим новый столбец с именем ‘SepalLength_Size»который содержит «High», если Sepal Length ≥ 5, или «Low», если Sepal Length <5.

Есть много способов выполнить вышеуказанную задачу. Давайте рассмотрим четыре различных способа сделать это.

  1. Во-первых, давайте выполним эту задачу, используяnp.whereфункция.
a['SepalLength_Size'] = np.where(a['SepalLength']>=5,'High','Low')
a.head()

Выход :

2. Теперь используйтепонимание списка(если вы забыли, что это такое, проверьте это вЧасть 1) для той же задачи. Кроме того, понимание списка обычно быстрее, чем все другие методы.

a['SepalLength_Size'] = ['High' if x >= 5 else 'Low' for x in a['SepalLength'] ]

Выход :

3. Теперь давайте создадим столбец, используя«Правопреемник»функция в панде данных.

def size(row_number):
if row_number["SepalLength"] >=5:
return 'High'
else:
return 'Low'a = a.assign(SepalLength_Size=a.apply(size, axis=1))a.head()

Выход :

4. Наконец, давайте использоватьлямбдафункция.

a['SepalLength_Size'] = a['SepalLength'].map( lambda x: 'High' if x >= 5 else 'Low')

Выход :

3. Уникальные значения столбца

a['Name'].unique()

Выход :

Получить только количество уникальных значений в столбце «Имя».

a['Name'].nunique()

Выход :3

4. Кросс-таблица (аналогично сводной таблице в Excel)

Эта функция используется для нахождения простой перекрестной таблицы двух или более факторов. Давайте используем столбцы «Имя» и «SepalLength_Size» (новый созданный нами столбец) и посмотрим, как это работает.

pd.crosstab(a['Name'],a['SepalLength_Size'])

Выход :

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

Давайте сделаем перекрестную таблицу еще раз, чтобы узнать средний размер длины Sepal в каждом из ведер.

pd.crosstab(a['Name'],a['SepalLength_Size'],values=a['SepalLength'],aggfunc=np.mean)

5. Сортировка значений

Давайте отсортируем данные по «длине Sepal».

a.sort_values('SepalLength')

Выход :

Сортируйте данные сначала по имени (в порядке возрастания), а затем по длине перегородки (по убыванию).

a.sort_values(['Name','SepalLength'],ascending=[True,False])

Выход :

Проверьте тип данных всех столбцов

6. Проверьте типы данных столбца

a.dtypes

Выход :

7. Binning числовые столбцы

Создайте новый столбец в наборе данных радужной оболочки, чтобы поместить «Sepal Length». Мы можем выполнить это, используя функцию «вырезать».

bins = [0, 1, 2, 3, 4, 5,6,7]
a[‘bins’] = pd.cut(a[‘SepalLength’], bins)

Выход :

Теперь посчитайте, сколько строк попадает под каждый сегмент, используя функцию «value_counts».

Выход :

Это охватывает большинство функций панд, которые часто используются в науке о данных. В следующих частях мы рассмотрим визуализацию и проверку гипотез в Python.


ПодключитьсяLinkedInи проверьте Github (ниже) для полной тетради.

rohanjoseph93 / Python-для-данных-наука

Python-для-data-science - Изучите науку данных с Python

github.com

Оригинальная статья

Footer decor

© machinelearningmastery.ru | Ссылки на оригиналы и авторов сохранены. | map