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

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

Pandas легко интегрируется с другими популярными библиотеками Python, такими как NumPy, Matplotlib и scikit-learn. Эта интеграция упрощает работу с данными, их анализ и визуализацию. Благодаря интуитивно понятному синтаксису и обширным функциональным возможностям Pandas стал популярным инструментом для ученых, аналитиков и исследователей данных, работающих с табличными или структурированными данными в Python.

В этой статье я собираюсь представить все важные функции Pandas и объяснить их четкое и краткое использование.

  1. Импорт данных и чтение файлов с помощью Pandas

Чтобы импортировать данные и читать файлы с помощью pandas, мы можем использовать функции read_*, предоставляемые библиотекой.

# Importing Pandas
import pandas as pd
# Reading file using Pandas
 
# Read a CSV file
df = pd.read_csv('file.csv')
# Read an Excel file
df = pd.read_excel('file.xlsx')
# Read a JSON file
df = pd.read_json('file.json')
# Reading Sql query 
pd.read_sql(query,connection_object)
# Read a Parquet file
df = pd.read_parquet('file.parquet')
# Read HTML tables from a URL
url = 'https://www.example.com/table.html'
tables = pd.read_html(url)

2. Просмотр и проверка объектов

При работе с данными в Pandas мы можем использовать несколько методов для просмотра и проверки объектов, таких как DataFrames и Series.

# For displaying first n rows of a dataframe 
df.head(n)
# For displaying last n rows of a dataframes
df.tail(n)
# For getting number of rows and columns 
df.shape
# For index,Datatype and memory informations
df.info()

3. Выбор данных с помощью Pandas

Pandas предоставляет различные методы выбора данных, которые позволяют извлекать определенные данные из DataFrames или Series.

# For getting column with label Column as series
df[column]
# Select multiple columns
df[['column_name1', 'column_name2']]
# Select a single row by label
df.loc[label]

# Select multiple rows by labels
df.loc[[label1, label2, label3]]

# Select a single row by integer index
df.iloc[index]

# Select multiple rows by integer indices
df.iloc[start_index:end_index]

# Filter rows based on a condition
df[df['column_name'] > 5]

# Filter rows using multiple conditions
df[(df['column_name1'] > 5) & (df['column_name2'] == 'value')]

# Select specific rows and columns by label
df.loc[row_labels, column_labels]

# Select specific rows and columns by integer indices
df.iloc[row_indices, column_indices]

# Select rows based on a condition and specific columns
df.loc[df['column_name'] > 5, ['column_name1', 'column_name2']]

4. Очистка данных

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

# Check for missing values
df.isnull()

# Drop rows with missing values
df.dropna()

# Fill missing values with a specific value
df.fillna(value)

# Interpolate missing values
df.interpolate()

# Check for duplicate rows
df.duplicated()

# Drop duplicate rows
df.drop_duplicates()

# Calculate z-score
z_scores = (df - df.mean()) / df.std()

# Identify outliers based on z-score
outliers = df[z_scores > threshold]

# Remove outliers
df_cleaned = df[z_scores <= threshold]

# Replace values in a column
df['column_name'] = df['column_name'].str.replace('old_value', 'new_value')

# Remove leading/trailing whitespace
df['column_name'] = df['column_name'].str.strip()

# Convert strings to lowercase
df['column_name'] = df['column_name'].str.lower()

# Convert column to a different data type
df['column_name'] = df['column_name'].astype('new_type')

# Convert column to datetime
df['date_column'] = pd.to_datetime(df['date_column'])

# Renaming Columns names 
df.columns = ['Cat','Mat','Xat']

# Reset the index of a DataFrame
df.reset_index()

5. Фильтровать, сортировать и группировать

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

# Filter rows based on a condition
df_filtered = df[df['column_name'] > 5]

# Sort DataFrame by a single column
df_sorted = df.sort_values('column_name')

# Sort DataFrame by multiple columns
df_sorted = df.sort_values(['column_name1', 'column_name2'], ascending=[True, False])

# Group DataFrame by a single column and calculate mean of another column
grouped_data = df.groupby('column_name')['other_column'].mean()

# Group DataFrame by multiple columns and calculate sum of another column
grouped_data = df.groupby(['column_name1', 'column_name2'])['other_column'].sum()

# Calculate the sum of a column
sum_value = df['column_name'].sum()

# Calculate the mean of a column
mean_value = df['column_name'].mean()

# Calculate the maximum value of a column
max_value = df['column_name'].max()

# Calculate the minimum value of a column
min_value = df['column_name'].min()

# Count the number of non-null values in a column
count = df['column_name'].count()


# Group DataFrame and reset the index
grouped_data = df.groupby('column_name')['other_column'].sum().reset_index()

6. Присоединиться/объединить

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

# Add the rows in df to the end of df2(columns should be identicals)
df.append(df2)

# Add the columns in df to the end of df2 (For this rows should be identical)
pd.concat([df,d# Perform an outer join on column 'A'
outer_join = pd.merge(df1, df2, on='A', how='outer')f2],axis =1)

# Perform an inner join on column 'A'
inner_join = pd.merge(df1, df2, on='A', how='inner')

# Perform a left join on column 'A'
left_join = pd.merge(df1, df2, on='A', how='left')

# Perform a right join on column 'A'
right_join = pd.merge(df1, df2, on='A', how='right')

7. Статистика в пандах

Pandas предоставляет широкий спектр статистических функций и методов для анализа данных в DataFrames или Series.

# Calculate descriptive statistics of numerical columns
df.describe()

# Calculate the sum of a column
df['column_name'].sum()

# Calculate the mean of a column
df['column_name'].mean()

# Calculate the maximum value of a column
df['column_name'].max()

# Count the number of non-null values in a column
df['column_name'].count()

# Calculate the sum of a column
df['column_name'].sum()

# Calculate the mean of a column
df['column_name'].mean()

# Calculate the maximum value of a column
df['column_name'].max()

# Count the number of non-null values in a column
df['column_name'].count()

# Count the occurrences of unique values in a column
df['column_name'].value_counts()

8. Экспорт данных

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

# Exporting in csv format
df.to_csv('filename.csv', index=False)  # Exporting without row index

# Exporting in Excel Formats 
data.to_excel('filename.xlsx', index=False)  # Exporting without row index

# Exporting in Json Formats
data.to_json('filename.json', orient='records')

# Exporting in SQL Formats 
data.to_sql('table_name', con=engine, if_exists='replace', index=False)

Спасибо, что прочитали мою статью! Если вы нашли это ценным и вам понравилось содержание, я был бы очень признателен за вашу поддержку. Пожалуйста, подумайте о том, чтобы поставить лайк 👍 и подписаться на меня, чтобы получать более подробные статьи о науке о данных. Ваша поддержка мотивирует меня продолжать делиться с вами ценным контентом. Оставайтесь с нами, чтобы не пропустить новые интересные статьи! Не стесняйтесь связаться со мной и поделиться своими мыслями в комментариях.