ramka danych pand - wybierz wiersze i wyczyść pamięć?

Mam dużą ramkę danych pand (rozmiar = 3 GB):

x = read.table ('big_table.txt', sep = '' ', header = 0, index_col = 0)

Ponieważ pracuję pod ograniczeniami pamięci, dzielę ramkę danych:

rows = calcul_rows () # funkcja, która oblicza, jakich wierszy potrzebuję

cols = calcul_cols () # funkcja, która oblicza potrzebne kolki

x = x.ix [wiersze, cols]

Funkcje, które obliczają wiersze i kolumny, nie są ważne, ale są OSTATECZNIE mniejszym podzbiorem oryginalnych wierszy i kolumn. Jednak, gdy wykonam tę operację, użycie pamięci znacznie się zwiększa! Pierwotnym celem było zmniejszenie rozmiaru pamięci do mniej niż 3 GB, ale zamiast tego zużycie pamięci wynosi znacznie ponad 6 GB.

Zgaduję, że to dlatego, że Python tworzy lokalną kopię ramki danych w pamięci, ale nie oczyszcza jej. Mogą się również zdarzyć inne rzeczy ... Więc moje pytanie brzmi: jak mogę ustawić dużą ramkę danych i oczyścić przestrzeń? Nie mogę znaleźć funkcji, która wybiera wiersze / kolby na miejscu.

Przeczytałem dużo przepełnienia stosu, ale nie mogę znaleźć wiele na ten temat. Być może nie używam właściwych słów kluczowych, więc jeśli masz sugestie, może to również pomóc. Dzięki!

questionAnswers(2)

yourAnswerToTheQuestion