我创建了一个带有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))