Если вы занимаетесь наукой о данных и используете Python в качестве базового инструмента, вы должны знать о Pandas, поэтому я сразу перехожу к теме.
Основная цель создания этого документа — собрать все основные предложения панд в одном месте, поэтому нам не нужно искать во многих местах, когда они нам понадобятся.
список предложений в разных сегментах
Структуры данных:
Методы серии:
series = pd.Series(data)
: создает новый объект серии из массива или списка данных.series.values
: возвращает значения серии в виде массива NumPy.series.index
: возвращает индекс серии.series.head(n)
: возвращает первые n строк серии.series.tail(n)
: возвращает последние n строк серии.series.describe()
: предоставляет сводную статистику серии.series.unique()
: возвращает уникальные значения в серии.series.isnull()
: возвращает логическую маску, указывающую, какие значения равны нулю.series.dropna()
: возвращает новую серию с удаленными нулевыми значениями.df.drop(columns=['column_name'])
: удаляет столбец из DataFrame.series.fillna(value)
: возвращает новую серию с нулевыми значениями, заполненными указанным значением.
Методы DataFrame:
df = pd.DataFrame(data)
: создает новый объект DataFrame из словаря, массива NumPy или списка словарей.df.columns
: возвращает метки столбцов DataFrame.df.index
: возвращает метки строк DataFrame.df.memory_usage
: вернуть использование памяти для каждого столбца в байтах.df.head(n)
: возвращает первые n строк DataFrame.df.tail(n)
: возвращает последние n строк DataFrame.df.shape
: возвращает кортеж, представляющий размеры DataFrame.df.info()
: предоставляет информацию о DataFramedf.describe()
: предоставляет сводную статистику DataFrame.df.groupby(column)
: группирует DataFrame по указанному столбцу.df.merge(other_df)
: объединяет DataFrame с другим DataFrame на основе общего столбца.df.pivot_table()
: создает сводную таблицу из DataFrame.
Статистический анализ:
Описательная статистика:
df.mean()
: вычисляет среднееdf.median()
: вычисляет медиануdf.mode()
: вычисляет режим
Корреляция и ковариация:
df.corr()
: вычисляет корреляцию между столбцамиdf.cov()
: вычисляет ковариацию между столбцами
Обнаружение выбросов:
df.quantile(0.25)
: вычисляет первый квартиль
Очистка данных:
Обработка пропущенных значений:
df.isnull()
: возвращает DataFrame с логическими значениями, указывающими, какие ячейки содержат пропущенные значения.df.dropna()
: возвращает новый DataFrame с удаленными нулевыми значениями.df.fillna(value)
: заполняет все пропущенные значения указанным значением.df.interpolate(method='linear'):
Заполнение значений NaN методом интерполяции
Обработка дубликатов:
df.duplicated()
: возвращает логический ряд, указывающий, какие строки являются дубликатами.df.drop_duplicates()
: удаляет все повторяющиеся строки.
Преобразование типа данных:
df.astype()
: преобразует тип данных столбца DataFrame в указанный тип данных.
Манипуляции со строками:
str.replace(old, new)
: заменяет все вхождения указанной строки другой строкой.str.split()
: разбивает строку на список подстрок.str.strip()
: удаляет начальные и конечные пробелы из строки.
Обработка выбросов:
df.clip(lower, upper)
: обрезает все значения в DataFrame, чтобы они находились в пределах указанного диапазона.
Переименование столбцов:
df.rename(columns={'old_name': 'new_name'})
: переименовывает столбец в DataFrame.
Обработка пробелов и заглавных букв:
str.lower()
: переводит все символы строки в нижний регистр.str.upper()
: переводит все символы строки в верхний регистр.str.strip()
: удаляет начальные и конечные пробелы из строки.
Нормализация данных:
df.apply(function)
: применяет функцию к каждому элементу в DataFrame.df.mean()
: вычисляет среднее значение каждого столбца в DataFrame.df.std()
: вычисляет стандартное отклонение каждого столбца в DataFrame.
Манипуляция данными:
Фильтрация данных:
df.loc[condition]
: возвращает строки DataFrame, соответствующие указанному условию.df.query(condition)
: возвращает строки DataFrame, которые соответствуют указанному условию, используя строку запроса.
Сортировка данных:
df.sort_values(by=column)
: сортирует DataFrame по указанному столбцу.df.sort_index()
: сортирует DataFrame по индексу.
Группировка данных:
df.groupby(column)
: группирует DataFrame по указанному столбцу.grouped.aggregate(function)
: применяет функцию агрегирования к каждой группе.
Объединение и объединение данных:
df.merge(other_df)
: объединяет DataFrame с другим DataFrame на основе общего столбца.df.join(other_df)
: объединяет DataFrame с другим DataFrame на основе индекса.pd.concat([df1, df2])
: объединяет два или более фреймов данных вместе.df1.append(df2)
: добавляет один кадр данных к другому кадру данных.
Изменение данных:
df.melt(id_vars=column)
: разворачивает DataFrame из широкого формата в длинный формат.df.pivot(index, columns, values)
: создает новый DataFrame с указанным индексом, столбцами и значениями.df.stack()
: переводит DataFrame из широкого формата в длинный формат.
Совокупность данных:
df.groupby(column).sum()
: вычисляет сумму каждой группы.df.groupby(column).mean()
: вычисляет среднее значение каждой группы.df.groupby(column).max()
: вычисляет максимум каждой группы.
Оконные функции:
df.rolling(window).mean()
: вычисляет скользящее среднее столбца.df.expanding().sum()
: вычисляет расширяющуюся сумму столбца.
Обработка текстовых данных:
Манипуляции со строками:
df['column_name'].str.lower()
: преобразует все символы в столбце в нижний регистр.df['column_name'].str.upper()
: преобразует все символы в столбце в верхний регистр.df['column_name'].str.strip()
: удаляет начальные и конечные пробелы из столбца.df['column_name'].str.replace('old_value', 'new_value')
: заменяет все вхождения значения в столбце новым значением.
Обычные выражения:
df['column_name'].str.contains('pattern')
: проверяет, соответствует ли каждый элемент в столбце шаблону регулярного выражения.df['column_name'].str.extract('pattern')
: извлекает первое вхождение шаблона регулярного выражения из каждого элемента в столбце.
Токенизация:
df['column_name'].str.split('delimiter')
: разбивает каждый элемент в столбце на список токенов на основе разделителя.
Фильтрация:
df[df['column_name'].str.contains('pattern')]
: фильтрует строки в DataFrame на основе соответствия шаблона регулярного выражения значению в столбце.df[df['column_name'].str.len() > 10]
: фильтрует строки в DataFrame на основе длины значения в столбце.
Векторизованные строковые методы:
df['column_name'].str.cat(sep='delimiter')
: объединяет все элементы в столбце в одну строку, разделенную разделителем.df['column_name'].str.get_dummies()
: создает кадр данных с горячим кодированием из столбца, содержащего несколько категориальных значений.
Визуализация данных:
Линейные графики:
df.plot()
: создает линейную диаграмму DataFrame.
Гистограммы:
df.plot(kind='bar')
: создает вертикальную гистограмму DataFrame.df.plot(kind='barh')
: создает горизонтальную гистограмму DataFrame.
Круговые диаграммы:
df.plot(kind='pie')
: создает круговую диаграмму DataFrame.
Графики рассеяния:
df.plot(kind='scatter', x='column1', y='column2')
: создает точечную диаграмму двух столбцов в DataFrame.
Гистограммы:
df.plot(kind='hist')
: создает гистограмму DataFrame.
Коробчатые графики:
df.plot(kind='box')
: создает коробчатую диаграмму DataFrame.
Диаграммы с областями:
df.plot(kind='area')
: создает диаграмму с областями DataFrame.
Ввод и вывод данных:
Чтение данных:
pd.read_csv(file_path)
: считывает данные из CSV-файла в DataFrame.pd.read_excel(file_path)
: считывает данные из файла Excel в DataFrame.pd.read_sql(query, connection)
: считывает данные из базы данных SQL в DataFrame.pd.read_json(file_path)
: считывает данные из файла JSON в DataFrame.pd.read_html(url)
: считывает данные со страницы HTML в список фреймов данных.pd.read_clipboard()
: считывает данные из буфера обмена в DataFrame.
Запись данных:
df.to_csv(file_path)
: записывает данные из DataFrame в файл CSV.df.to_excel(file_path)
: записывает данные из DataFrame в файл Excel.df.to_sql(table_name, connection)
: записывает данные из DataFrame в таблицу базы данных SQL.df.to_json(file_path)
: записывает данные из DataFrame в файл JSON.
Анализ временных рядов:
Индексация времени:
pd.to_datetime(date_string)
: преобразует строку даты в объект даты и времени.df.set_index('datetime_column')
: устанавливает столбец даты и времени в качестве индекса DataFrame.
Передискретизация:
df.resample('D').mean()
: передискретизирует DataFrame до ежедневной частоты и вычисляет среднее значение для каждого дня.df.resample('M').sum()
: передискретизирует DataFrame до месячной частоты и вычисляет сумму за каждый месяц.
Переключение:
df.shift(1)
: сдвигает значения в DataFrame на один период.
Роллинг:
df.rolling(window=2).mean()
: вычисляет скользящее среднее значение DataFrame за окно из двух периодов.
Обработка часового пояса:
df.tz_localize('UTC')
: устанавливает часовой пояс DataFrame в UTC.df.tz_convert('US/Pacific')
: преобразует часовой пояс DataFrame в Тихоокеанский регион США.
Генерация диапазона дат:
pd.date_range(start='2020-01-01', end='2020-12-31', freq='D')
: генерирует диапазон дат с 1 января 2020 г. по 31 декабря 2020 г. с ежедневной периодичностью.
Интеграция с машинным обучением:
Особенности разработки:
df['new_column'] = df['column_1'] + df['column_2']
: создает новый столбец путем добавления двух существующих столбцов.df['new_column'] = df['column'].apply(function)
: применяет функцию к каждому значению в столбце для создания нового столбца.df['new_column'] = pd.cut(df['column'], bins)
: создает новый столбец путем бинирования непрерывной переменной.
Заключение
Это список нескольких часто используемых методов, но панды могут предложить гораздо больше. Пожалуйста, ознакомьтесь с официальной документацией панд для получения более подробных сведений. Кроме того, все эти методы могут быть изменены в зависимости от новой версии панд, поэтому, пожалуйста, проверьте официальную версию, прежде чем использовать ее.