Эффективная работа с CSV файлами в Python с помощью pandas

Работа с файлами CSV в Python с помощью pandas

Библиотека pandas предоставляет мощные инструменты для обработки, анализа и манипуляции данными в формате CSV. Рассмотрим основные операции и некоторые продвинутые техники.

Установка библиотеки

Установите pandas с помощью pip:

1pip install pandas

Базовые операции с CSV

Чтение и запись CSV файлов

 1import pandas as pd
 2
 3# Чтение CSV файла
 4df = pd.read_csv('data.csv')
 5
 6# Вывод первых 5 строк
 7print(df.head())
 8
 9# Запись данных обратно в CSV файл
10df.to_csv('output.csv', index=False)

Этот скрипт демонстрирует базовое чтение CSV файла в DataFrame, вывод первых строк и сохранение данных в новый файл.

Фильтрация данных

1# Фильтрация строк, где значение в столбце 'age' больше 30
2filtered_df = df[df['age'] > 30]
3print(filtered_df)

Объединение нескольких CSV файлов

1import glob
2
3# Получение списка всех CSV файлов в текущей директории
4csv_files = glob.glob('*.csv')
5
6# Чтение и объединение всех CSV файлов
7df_list = [pd.read_csv(file) for file in csv_files]
8combined_df = pd.concat(df_list, ignore_index=True)
9print(combined_df)

Обработка пропущенных значений

1# Заполнение пропущенных значений средним значением столбца
2df['column_name'].fillna(df['column_name'].mean(), inplace=True)
3
4# Удаление строк с пропущенными значениями
5df.dropna(inplace=True)

Группировка и агрегация данных

1# Группировка по столбцу 'category' и вычисление среднего значения 'value'
2grouped = df.groupby('category')['value'].mean()
3print(grouped)

Применение функций к столбцам

1# Применение пользовательской функции к столбцу
2df['new_column'] = df['old_column'].apply(lambda x: x * 2)

Заключение

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

Экспериментируйте с различными функциями pandas для повышения эффективности вашей работы с данными!

comments powered by Disqus

Translations: