AWS SageMaker pd.read_pickle() 不起作用但 read_csv() 起作用?
AWS SageMaker pd.read_pickle() doesn't work but read_csv() does?
我最近一直在尝试在 AWS SageMaker jupyter notebook 实例上训练一些模型。
在我尝试通过文件加载一些自定义数据集 (REDD) 之前,一切都运行良好。
我将数据帧存储在 S3 存储桶上的 Pickle (.pkl) 文件中。我无法将它们读入 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()
问题的人,或者作为替代方案,用 csv 解决我的 datetime64 类型问题。
提前致谢!
read_pickle() 比 运行 的相对路径更喜欢完整路径。这解决了我的问题。
我最近一直在尝试在 AWS SageMaker jupyter notebook 实例上训练一些模型。
在我尝试通过文件加载一些自定义数据集 (REDD) 之前,一切都运行良好。
我将数据帧存储在 S3 存储桶上的 Pickle (.pkl) 文件中。我无法将它们读入 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()
问题的人,或者作为替代方案,用 csv 解决我的 datetime64 类型问题。
提前致谢!
read_pickle() 比 运行 的相对路径更喜欢完整路径。这解决了我的问题。