Эффективная работа с 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