AppMobi HTML5 SDK однажды пообещал доступ к встроенным функциям устройства, включая камеру, из приложения на основе HTML5, но больше не принадлежит Google. Вместо этого попробуйте ответы на основе HTML5 в этом сообщении .
df = pd.read_csv('somefile.csv', low_memory=False)
Это должно решить проблему. Я получил точно такую же ошибку при чтении строк 1.8M из CSV.
У меня была аналогичная проблема с файлом ~ 400 МБ. Установка low_memory = False сделала трюк для меня. Сначала делайте простые вещи, я бы проверял, что ваш фреймворк не больше вашей системной памяти, перезагрузитесь, очистите оперативную память перед продолжением. Если вы все еще сталкиваетесь с ошибками, стоит убедиться, что ваш CSV-файл в порядке, быстро просмотрите Excel и убедитесь, что нет очевидной коррупции. Сломанные исходные данные могут привести к хаосу ...
Попробуйте:
dashboard_df = pd.read_csv(p_file, sep=',', error_bad_lines=False, index_col=False, dtype='unicode')
Согласно документации pandas:
dtype: имя типа или dict столбца -> тип
Что касается low_memory, то по умолчанию он по умолчанию и еще не задокументирован. Я не думаю, что это имеет значение. Сообщение об ошибке является общим, поэтому вам все равно не нужно возиться с low_memory. Надеюсь, что это поможет и сообщит мне, если у вас возникнут дополнительные проблемы
dtype=unicode
: NameError: name 'unicode' is not defined
. Но, кажется, работает unicode
в кавычках (как в «unicode»)!
– sedeh
19 February 2015 в 19:06
numpy.dtype('unicode')
. Когда вы дадите опцию dtype строку, она попытается выполнить ее по фабрике numpy.dtype()
по умолчанию. Задание 'unicode'
на самом деле ничего не сделает, юникоды просто повышаются до objects
. Вы получите dtype='object'
– firelynx
15 July 2015 в 07:35
Как упоминалось ранее firelynx, если dtype явно указано, и есть смешанные данные, которые несовместимы с этим dtype, тогда загрузка будет аварийна. Я использовал такой конвертер как обходной путь для изменения значений с несовместимым типом данных, чтобы данные все равно могли быть загружены.
def conv(val):
if not val:
return 0
try:
return np.float64(val)
except:
return np.float64(0)
df = pd.read_csv(csv_file,converters={'COL_A':conv,'COL_B':conv})
dtype=object
не является более эффективной с точки зрения памяти, есть ли какая-то причина для того, чтобы с ней справиться, кроме того, чтобы избавиться от ошибки? – zthomas.nc 31 August 2016 в 07:09error_bad_lines=False, warn_bad_lines=True
должен сделать трюк. В документации говорится, что он действителен только для синтаксического анализатора. Он также говорит, что синтаксический анализатор по умолчанию - «Нет», что затрудняет определение того, какой из них является значением по умолчанию. – firelynx 2 September 2016 в 06:48nrows=100
в качестве аргумента, а затем сделатьdf.dtypes
, чтобы увидеть dtypes, который вы получаете. Однако, читая весь файл данных с этими типами данных, обязательно сделайтеtry/except
, чтобы вы уловили ошибочные догадки dtype. Данные грязные, вы знаете. – firelynx 19 December 2016 в 09:17