Как я могу эффективно фильтровать и обрабатывать большие файлы CSV с помощью панд?Python

Программы на Python
Ответить
Anonymous
 Как я могу эффективно фильтровать и обрабатывать большие файлы CSV с помощью панд?

Сообщение Anonymous »

Я работаю с файлом CSV, содержащим миллионы строк и несколько столбцов. Мне нужно:
Отфильтровать строки по определенным условиям (например, возраст > 30 и зарплата > 50 000).
Выполнить некоторые операции с отфильтрованными данными (например, добавить новый столбец, в котором годовой бонус рассчитывается как 0,1 * зарплата).
Сохраните обработанные данные в новый файл CSV.
Однако я продолжаю сталкиваться с проблемами с памятью, поскольку файл слишком велик загрузить полностью в память. Вот что я пробовал на данный момент:
python

Код: Выделить всё

import pandas as pd

# Load the CSV file
df = pd.read_csv('large_file.csv')

# Filter rows
filtered_df = df[(df['age'] > 30) & (df['salary'] > 50000)]

# Add a new column
filtered_df['bonus'] = 0.1 * filtered_df['salary']

# Save to a new CSV file
filtered_df.to_csv('processed_file.csv', index=False)
Это хорошо работает для файлов меньшего размера, но когда размер файла увеличивается, происходит сбой из-за ограничений памяти.
Я читал о dask и обработка фрагментов, но я не уверен, как их реализовать в моем случае. Может ли кто-нибудь привести наглядный пример эффективной обработки больших файлов CSV?
Будем очень благодарны за любую помощь!

Подробнее здесь: https://stackoverflow.com/questions/792 ... ith-pandas
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»