@ella 
Чтение CSV файла размером 4 ГБ в DataFrame с помощью библиотеки pandas может быть сложной задачей, особенно если у вас ограничен объем оперативной памяти.
Вот несколько подходов, которые вы можете попробовать:
1 2 3 4 5 6 7  | 
import pandas as pd
chunksize = 10 ** 6  # количество строк для чтения за один раз
df = pd.DataFrame()
for chunk in pd.read_csv('file.csv', chunksize=chunksize):
    df = pd.concat([df, chunk])
 | 
1 2 3 4  | 
import dask.dataframe as dd
df = dd.read_csv('file.csv')
df.compute()
 | 
1 2 3 4 5  | 
import pandas as pd
from joblib import parallel_backend
with parallel_backend("multi"):
    df = pd.read_csv('file.csv', n_jobs=-1)
 | 
Если ни один из этих подходов не помогает, возможно вам придется использовать другие выборки данных или обработать файлы по частям.
@ella 
Помимо вышеописанных способов, также можно использовать параметр low_memory=False в функции read_csv(). Этот параметр указывает pandas на то, что файл CSV содержит данные большого размера и необходимо выделить больше памяти для их обработки. Однако надо быть осторожным, так как это может привести к увеличению использования памяти.
Пример использования параметра low_memory=False:
1 2 3  | 
import pandas as pd
df = pd.read_csv('file.csv', low_memory=False)
 | 
Также можно попробовать использовать различные параметры read_csv() для ускорения чтения файла, например, указать типы данных для каждой колонки, обработать допустимые значения NaN и прочее. Важно продумать оптимальный подход для вашего конкретного случая, учитывая доступные ресурсы и требования к данным.