将pandas Dataframe 从S3桶中的pickle文件加载到AWS Lambda -类型问题

wlzqhblo  于 2022-11-20  发布在  其他
关注(0)|答案(1)|浏览(102)

我创建了一个带有KNN分类器的机器学习模型,然后制作了测试数据集的pickle文件,并使用AWS SDK将其上传到AWS S3 bucket。
出于测试目的,我下载了它并使用以下代码测试了该类型:

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

结果是<class 'pandas.core.frame.DataFrame'>,这是正常的。
但是,在阅读AWS Lambda时,以下部分

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

给出<class 'dict'>
如何在AWS Lambda中获取DataFrame类型?

g2ieeal7

g2ieeal71#

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

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

相关问题