Зачем использовать панд? Вводное руководство для начинающих
11 января 2023 г.Pandas — мощная и популярная библиотека для работы с данными в Python. Он предоставляет инструменты для работы с большими и сложными наборами данных и широко используется в таких областях, как финансы, экономика, статистика и наука о данных.
Pandas построен на основе NumPy, библиотеки для работы с числовыми данными в Python, и предоставляет высокоуровневый интерфейс для работы со структурированными данными.
Он предоставляет две основные структуры данных:
- Серия
- Фрейм данных
Серия — это одномерный массив с метками, который может содержать данные любого типа. Он похож на столбец в электронной таблице, в то время как 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()
Чтобы создать гистограмму с помощью панд, вы можете использовать тот же метод 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()
Помимо простых линейных и столбчатых диаграмм, 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()
Чтобы создать гистограмму с помощью 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()
Заключение
В целом, мы можем сказать, что Pandas — это мощная и популярная библиотека для работы с данными в Python. Он предоставляет инструменты для обработки больших и сложных наборов данных и широко используется в таких областях, как финансы, экономика, статистика и наука о данных. Pandas построен на основе NumPy, библиотеки для работы с числовыми данными в Python, и предоставляет высокоуровневый интерфейс для работы со структурированными данными. Он предоставляет две основные структуры данных: Series и DataFrame.
Pandas особенно полезен для очистки, преобразования и обработки данных при подготовке к анализу. Он предоставляет широкий спектр функций и методов для фильтрации, группировки и агрегирования данных, а также для обработки отсутствующих или неполных данных. Он также часто используется вместе с другими библиотеками для визуализации данных и машинного обучения. Pandas можно использовать для импорта и экспорта данных из различных источников, таких как файлы CSV, файлы Excel и базы данных SQL, с использованием таких функций, как pd.read_csv()
, pd.read_excel()
и pd.read_sql()
Это были все основы панд и все, что нужно знать, чтобы начать работу.
Если у вас есть какие-либо вопросы или вопросы, пожалуйста, оставьте комментарий.
Спасибо и хорошего дня.
Также опубликовано здесь
Оригинал