AWS SageMaker pd.read_pickle() не работает, а read_csv() работает?

Недавно я пытался обучить некоторые модели на экземпляре ноутбука AWS SageMaker jupyter.

Все работало очень хорошо, пока я не попытался загрузить какой-то пользовательский набор данных (REDD) через файлы.

У меня есть кадры данных, хранящиеся в файлах Pickle (.pkl) в корзине S3. Мне не удалось прочитать их в sagemaker, поэтому я решил преобразовать их в csv, поскольку это, казалось, работало, но столкнулся с проблемой. Эти данные имеют индекс типа datetime64, и при использовании .to_csv() этот индекс преобразуется в чистый текст и теряет свою структуру данных (и мне нужно сохранить этот конкретный индекс для правильного построения графика).

Поэтому я решил снова попробовать файлы Pickle, но не могу заставить его работать и понятия не имею, почему.

Следующий код для csv работает, но я не могу его использовать из-за проблемы с индексом:

bucket = 'sagemaker-peno'
houses_dfs = {}
data_key = 'compressed_data/'
data_location = 's3://{}/{}'.format(bucket, data_key)
for file in range(6):
    houses_dfs[file+1] = pd.read_csv(data_location+'house_'+str(file+1)+'.csv', index_col='Unnamed: 0')

Но этот код НЕ работает, хотя он использует почти такой же синтаксис:

bucket = 'sagemaker-peno'
houses_dfs = {}
data_key = 'compressed_data/'
data_location = 's3://{}/{}'.format(bucket, data_key)
for file in range(6):
    houses_dfs[file+1] =  pd.read_pickle(data_location+'house_'+str(file+1)+'.pkl')

Да, это 100% правильный путь, потому что файлы csv и pkl хранятся в одном каталоге (compressed_data).

Это выдает мне эту ошибку при использовании метода Pickle:

FileNotFoundError: [Errno 2] No such file or directory: 's3://sagemaker-peno/compressed_data/house_1.pkl'

Я надеюсь найти кого-то, кто имел дело с этим раньше и может решить проблему read_pickle() или, в качестве альтернативы, исправить мою проблему с типом datetime64 с помощью csv.

Заранее спасибо!


person Dirkx Senne    schedule 13.11.2018    source источник


Ответы (1)


read_pickle() предпочитает полный путь больше, чем относительный путь, откуда он был запущен. Это исправило мою проблему.

person Dirkx Senne    schedule 26.11.2018