То, как смонтироваться из командной строки как Наутилус, делает? [закрытый]

Здесь вы не нуждаетесь concat. Это похоже на запись sum(map(list, grouper(tup, 1000))) вместо list(tup). Единственное, что делают iterator и chunksize=1000, это дать вам объект-читатель, который повторяет 1000-строчные DataFrames вместо того, чтобы читать все это. Если вы хотите все сразу, просто не используйте эти параметры.

Но если чтение всего файла в память сразу слишком дорого (например, занимает так много памяти, что вы получаете MemoryError, или замедлить вашу систему до обхода, выбросив ее в swap hell), это именно то, что chunksize для.

Проблема в том, что вы назвали результирующий итератор df, а затем попытались используйте его как DataFrame. Это не DataFrame; это итератор, который дает вам 1000-строчные DataFrames один за другим.

Когда вы говорите это:

Моя проблема: я не знаю, как использовать такие вещи, как эти ниже для всего df, а не только для одного фрагмента

. Ответ заключается в том, что вы не можете . Если вы не можете загрузить все это в один гигантский DataFrame, вы не сможете использовать один гигантский DataFrame. Вы должны переписать свой код вокруг кусков.

Вместо этого:

df = pd.read_csv('Check1_900.csv', sep='\t', iterator=True, chunksize=1000)
print df.dtypes
customer_group3 = df.groupby('UserID')

... вам нужно делать такие вещи:

for df in pd.read_csv('Check1_900.csv', sep='\t', iterator=True, chunksize=1000):
    print df.dtypes
    customer_group3 = df.groupby('UserID')

Часто , то, что вам нужно сделать, это объединить некоторые данные - уменьшить каждый кусок до чего-то гораздо меньшего с помощью только тех частей, которые вам нужны. Например, если вы хотите суммировать весь файл по группам, вы можете groupby каждый фрагмент, затем суммировать кусок по группам и хранить серию / массив / список / dict для текущих итогов для каждой группы.

Конечно, это немного сложнее, чем просто суммирование гигантской серии сразу, , но вокруг этого нет . (За исключением покупки большего количества оперативной памяти и / или переключения на 64 бита.) Вот как iterator и chunksize решают проблему: разрешая вам делать этот компромисс, когда вам нужно.

35
задан Andrea Francia 27 January 2009 в 13:51
поделиться

6 ответов

Посмотрите pmount команда для получения информации об использовании

9
ответ дан 27 November 2019 в 05:45
поделиться

Да существует. Это назвало ivman и обрабатывает все события HAL. Я запускаю его при выполнении ion3. Я просто запускаю ivman как процесс демона, но добавил программу к моему sudoers файлу:

cat /etc/sudoers
[...]
ivman {hostname}=(root) NOPASSWD: /sbin/init, /usr/sbin/hibernate
[...]

так, чтобы это могло управлять параметрами питания также.

1
ответ дан 27 November 2019 в 05:45
поделиться

Можно также использовать, монтируются гном для монтирования / размонтировавшийся из командной строки.

0
ответ дан 27 November 2019 в 05:45
поделиться

Я не полагаю, что сам Gnome обрабатывает mounting—, это - HAL. Таким образом, если HAL работает, необходимо смочь автосмонтироваться. Я предполагаю, что pmount говорит с HAL так или иначе, и это было бы способом обработать размонтирование. Я надеюсь, что это запустило Вас, по крайней мере.

0
ответ дан 27 November 2019 в 05:45
поделиться

Я включаю свое USB-устройство, ввожу "менеджер томов гнома", и это, кажется, делает то, чего Вы требуете.

0
ответ дан 27 November 2019 в 05:45
поделиться

Это было бы "devkit-диск --mount /dev/sdxx", где xx - это буква и номер раздела для монтирования...

.
0
ответ дан 27 November 2019 в 05:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: