Зачем использовать панд? Вводное руководство для начинающих

Зачем использовать панд? Вводное руководство для начинающих

11 января 2023 г.

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

Pandas построен на основе NumPy, библиотеки для работы с числовыми данными в Python, и предоставляет высокоуровневый интерфейс для работы со структурированными данными.

Он предоставляет две основные структуры данных:

  1. Серия
  2. Фрейм данных

Серия — это одномерный массив с метками, который может содержать данные любого типа. Он похож на столбец в электронной таблице, в то время как DataFrame представляет собой двумерную помеченную структуру данных со столбцами потенциально разных типов. Это похоже на целую электронную таблицу или таблицу SQL.

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

Структуры данных в пандах

Он предоставляет две основные структуры данных.

Серии

Серия – это одномерный помеченный массив, который может содержать данные любого типа. Это похоже на столбец в электронной таблице. Серия создается путем передачи списка данных в функцию pd.Series() и указания индекса, который представляет собой список меток для данных. Дело в том, что в случае предоставления ваших меток длина списка меток должна быть равна длине списка данных.

В противном случае будет выброшена ошибка. Индекс является необязательным; индекс по умолчанию будет создан, если он не указан. Поэтому, когда нам нужно делать большие наборы данных, лучше оставить метки пандам.

Например:

import pandas as pd
data = [1, 2, 3, 4, 5]
s = pd.Series(data, index=['a', 'b', 'c', 'd', 'e'])
print(s)

Output:
a    1
b    2
c    3
d    4
e    5
dtype: int64

Фрейм данных

Кадр данных — это двумерная структура данных с метками, в которой столбцы могут быть разных типов. Это похоже на электронную таблицу или таблицу SQL. DataFrame создается путем передачи словаря Series или словарей в функцию pd.DataFrame(). Ключи в словаре используются как имена столбцов, а значения — это данные для соответствующих столбцов.

Например:

import pandas as pd

data = {'a': pd.Series([1, 2, 3]),
        'b': pd.Series([4, 5, 6])}
# or
data = {'a': [1, 2, 3],
        'b': [4, 5, 6]}
df = pd.DataFrame(data)
print(df)
Output:
   a  b
0  1  4
1  2  5
2  3  6

Импорт и экспорт данных:

Pandas предоставляет несколько функций для импорта и экспорта данных из различных источников. К наиболее распространенным источникам данных относятся файлы CSV, файлы Excel и базы данных SQL.

Вы можете использовать функцию pd.read_csv() для импорта данных из файла CSV.

Эта функция принимает путь к файлу или URL-адрес в качестве аргумента и возвращает DataFrame. Например:

import pandas as pd
df = pd.read_csv('data.csv')

Чтобы импортировать данные из файла Excel, вы можете использовать функцию pd.read_excel(). Эта функция принимает путь к файлу или URL-адрес и имя листа в качестве аргументов и возвращает DataFrame.

Например:

import pandas as pd
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')
# sheet name - if we have many sheets in the file.

Чтобы импортировать данные из базы данных SQL, вы можете использовать функцию pd.read_sql(). Эта функция принимает SQL-запрос и объект соединения в качестве аргументов и возвращает DataFrame.

Например:

import pandas as pd
import pyodbc
cnxn = pyodbc.connect("Driver={SQL Server Native Client 11.0};"
"Server=server_name;"
"Database=database_name;"
"Trusted_Connection=yes;")

query = "SELECT * FROM table_name"
df = pd.read_sql(query, cnxn)

Помимо импорта данных, pandas также предоставляет функции для экспорта данных. Чтобы экспортировать DataFrame в файл CSV, вы можете использовать метод df.to_csv(). Чтобы экспортировать DataFrame в файл Excel, вы можете использовать метод df.to_excel().

Например:

import pandas as pd

# Export DataFrame to CSV file
df.to_csv('data.csv', index=False)

# Export DataFrame to Excel file
df.to_excel('data.xlsx', sheet_name='Sheet1', index=False)

Очистка и подготовка данных:

Pandas — полезный инструмент для очистки и подготовки данных к анализу. Он предоставляет несколько функций и методов для таких задач, как удаление дубликатов, обработка пропущенных значений и переформатирование данных.

Работа с дубликатами

Чтобы удалить дубликаты из DataFrame, вы можете использовать метод df.drop_duplicates(). Этот метод удаляет строки с повторяющимися значениями во всех или в подмножестве столбцов. Вы можете указать столбцы, которые следует учитывать для повторяющихся значений, используя аргумент подмножества, или указать, чтобы сохранить первое или последнее вхождение дубликатов, используя аргумент сохранения.

Например:

import pandas as pd

df = pd.DataFrame({'A': [1, 1, 2, 3, 3],
                   'B': [2, 2, 3, 4, 5],
                   'C': [3, 4, 5, 6, 7]})

# Remove duplicates in all columns
df_deduplicated = df.drop_duplicates()

# Remove duplicates in columns 'A' and 'B'
df_deduplicated = df.drop_duplicates(subset=['A', 'B'])

# Keep the first occurrence of duplicates
df_deduplicated = df.drop_duplicates(keep='first')

# Keep the last occurrence of duplicates
df_deduplicated = df.drop_duplicates(keep='last')

Работа с пропущенными значениями.

Чтобы обработать отсутствующие значения в DataFrame, вы можете использовать метод df.isnull() для определения отсутствующих значений и метод df.dropna() для удаления строки или столбцы с пропущенными значениями. Вы также можете использовать метод df.fillna(), чтобы заполнить пропущенные значения указанным значением.

Например:

import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
                   'B': [2, 3, 4, 5, 6],
                   'C': [3, 4, 5, 6, 7]})

# Add missing values
df.loc[1, 'A'] = None
df.loc[3, 'B'] = None

# Identify missing values
df_missing = df[df.isnull().any(axis=1)]

# Remove rows with missing values
df_cleaned = df.dropna()

# Fill missing values with 0
df_cleaned = df.fillna(0)

Визуализация данных:

Pandas можно использовать в сочетании с такими библиотеками, как Matplotlib и Seaborn, для создания визуально привлекательных и информативных графиков и диаграмм. Эти библиотеки предоставляют широкий спектр функций построения графиков, которые можно легко использовать со структурами данных pandas.

Чтобы создать простую линейную диаграмму с помощью панд, вы можете использовать метод df.plot() и указать аргумент kind как «линия». Метод df.plot() принимает несколько необязательных аргументов, позволяющих настроить внешний вид диаграммы, например метки осей x и y, заголовок и легенда.

Например:

import pandas as pd
import matplotlib.pyplot as plt

# Create a DataFrame
df = pd.DataFrame({'x': [1, 2, 3, 4],
                   'y': [3, 4, 5, 6]})

# Plot the DataFrame as a line chart
df.plot(x='x', y='y', kind='line', title='Line Chart')
plt.show()

Line Chart

Чтобы создать гистограмму с помощью панд, вы можете использовать тот же метод df.plot() и указать тип аргумента как «bar».

Например:

import pandas as pd
import matplotlib.pyplot as plt

# Create a DataFrame
df = pd.DataFrame({'x': ['A', 'B', 'C', 'D'],
                   'y': [3, 4, 5, 6]})

# Plot the DataFrame as a bar chart
df.plot(x='x', y='y', kind='bar', title='Bar Chart')
plt.show()

Bar chart

Помимо простых линейных и столбчатых диаграмм, pandas также предоставляет функции для создания более сложных диаграмм, таких как точечные диаграммы, гистограммы и ящичные диаграммы. Вы можете использовать метод df.plot() с различными комбинациями аргументов для создания этих диаграмм или напрямую использовать функции, предоставляемые Matplotlib и Seaborn.

Например, чтобы создать точечную диаграмму с помощью панд, вы можете использовать метод df.plot() и указать тип аргумента как 'scatter':

import pandas as pd
import matplotlib.pyplot as plt

# Create a DataFrame
df = pd.DataFrame({'x': [1, 2, 3, 4],
                   'y': [3, 4, 5, 6]})

# Plot the DataFrame as a scatter plot
df.plot(x='x', y='y', kind='scatter', title='Scatter Plot')
plt.show()

scatter plot

Чтобы создать гистограмму с помощью pandas, вы можете использовать метод df.plot() и указать аргумент типа как «hist»:

import pandas as pd
import matplotlib.pyplot as plt

# Create a Series
s = pd.Series([1, 2, 3, 3, 4, 5, 6, 6, 7, 8])

# Plot the Series as a histogram
s.plot(kind='hist', title='Histogram')
plt.show()

histogram

Заключение

В целом, мы можем сказать, что Pandas — это мощная и популярная библиотека для работы с данными в Python. Он предоставляет инструменты для обработки больших и сложных наборов данных и широко используется в таких областях, как финансы, экономика, статистика и наука о данных. Pandas построен на основе NumPy, библиотеки для работы с числовыми данными в Python, и предоставляет высокоуровневый интерфейс для работы со структурированными данными. Он предоставляет две основные структуры данных: Series и DataFrame.

Pandas особенно полезен для очистки, преобразования и обработки данных при подготовке к анализу. Он предоставляет широкий спектр функций и методов для фильтрации, группировки и агрегирования данных, а также для обработки отсутствующих или неполных данных. Он также часто используется вместе с другими библиотеками для визуализации данных и машинного обучения. Pandas можно использовать для импорта и экспорта данных из различных источников, таких как файлы CSV, файлы Excel и базы данных SQL, с использованием таких функций, как pd.read_csv(), pd.read_excel() и pd.read_sql()

Это были все основы панд и все, что нужно знать, чтобы начать работу.

Если у вас есть какие-либо вопросы или вопросы, пожалуйста, оставьте комментарий.

Спасибо и хорошего дня.


Также опубликовано здесь


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE