Pandas — это библиотека Python с открытым исходным кодом, широко используемая для обработки и анализа данных. Он предоставляет эффективные структуры данных и функции, которые позволяют пользователям эффективно манипулировать структурированными данными и анализировать их. Обладая обширными возможностями, Pandas бесценен для таких действий, как очистка данных, предварительная обработка, обработка и исследовательский анализ данных.
Основными структурами данных в Pandas являются Series и DataFrame. Ряд — это одномерный помеченный массив, который может содержать различные типы данных. С другой стороны, DataFrame представляет собой двумерную табличную структуру, состоящую из строк и столбцов, напоминающую электронную таблицу или таблицу SQL. Используя эти структуры данных, а также широкий спектр функций, пользователи могут беспрепятственно загружать, преобразовывать, фильтровать, агрегировать и визуализировать данные.
Pandas легко интегрируется с другими популярными библиотеками Python, такими как NumPy, Matplotlib и scikit-learn. Эта интеграция упрощает работу с данными, их анализ и визуализацию. Благодаря интуитивно понятному синтаксису и обширным функциональным возможностям Pandas стал популярным инструментом для ученых, аналитиков и исследователей данных, работающих с табличными или структурированными данными в Python.
В этой статье я собираюсь представить все важные функции Pandas и объяснить их четкое и краткое использование.
- Импорт данных и чтение файлов с помощью 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)
Спасибо, что прочитали мою статью! Если вы нашли это ценным и вам понравилось содержание, я был бы очень признателен за вашу поддержку. Пожалуйста, подумайте о том, чтобы поставить лайк 👍 и подписаться на меня, чтобы получать более подробные статьи о науке о данных. Ваша поддержка мотивирует меня продолжать делиться с вами ценным контентом. Оставайтесь с нами, чтобы не пропустить новые интересные статьи! Не стесняйтесь связаться со мной и поделиться своими мыслями в комментариях.