从S3桶的pickle文件加载pandas数据帧到AWS Lambda -类型问题



我创建了一个带有KNN分类器的机器学习模型。然后,我制作了测试数据集的pickle文件,并使用AWS SDK将其上传到AWS S3桶中。

出于测试目的,我下载了它,并使用以下命令测试了该类型:

with open("C:\...path...\test_features.pkl", 'rb') as f:
test_data= pickle.load(f)
print(type(test_data))

结果是<class 'pandas.core.frame.DataFrame'>,这是ok的

但是,在阅读AWS Lambda时,以下部分

s3 = boto3.client('s3')
test_features = s3.get_object(Bucket=bucket, Key= key)
print(type(test_features))

给出<class 'dict'>

如何在AWS Lambda中获得DataFrame类型?

您需要先读取内容,然后使用pickle加载内容并创建数据帧

test_features = s3.get_object(Bucket=bucket, Key= key)
body = test_features['Body'].read()
test_data = pickle.loads(body)
print(type(test_data))

最新更新