Я работаю над своим замковым проектом. По сути, я пытаюсь создать систему рекомендаций для косметических продуктов Amazon. Набор данных представляет собой набор данных TensorFlow.
data=tfds.load('amazon_us_reviews/Beauty_v1_00', split='train')
type: tensorflow.python.data.ops.dataset_ops.PrefetchDataset
Отображение некоторой информации о функциях:
for sample in data.take(1).as_numpy_iterator():
pprint.pprint(sample)
Выход
{'data': {'customer_id': b'18239070',
'helpful_votes': 0,
'marketplace': b'US',
'product_category': b'Beauty',
'product_id': b'B00LJ86MAY',
'product_parent': b'823234087',
'product_title': b'The Original Curly Tee Towel - T-Shirt Hair Dryi'
b'ng Towel Wrap (Extra Long)',
'review_body': b'Great product, quick ship and packaged nicely with a'
b'ttention to detail. Thank you!',
'review_date': b'2014-10-04',
'review_headline': b'Very pleased!',
'review_id': b'R24WHRN0BMM2K7',
'star_rating': 5,
'total_votes': 0,
'verified_purchase': 1,
'vine': 1}}
Я пытаюсь выбрать только некоторые столбцы, используя функцию карты
data = data.map(lambda x: {
"customer_id": x["customer_id"],
"product_id": x["product_id"],
"star_rating": x["star_rating"]
})
KeyError: в пользовательском коде:
KeyError: 'customer_id'
Код в учебнике работает нормально, но не работает, когда я пытаюсь это сделать. Я гуглил и не мог найти ответ.
Есть ли у вас какие-либо предложения? Теперь спасибо за ваше время.






Вам не хватает ключа «данные» при доступе к словарю.
Это должно исправить это:
data = data.map(lambda x: {
"customer_id": x["data"]["customer_id"],
"product_id": x["data"]["product_id"],
"star_rating": x["data"]["star_rating"]
})
Кажется, это вызвано тем, как вы получаете доступ к
dataВ учебнике, которому вы следуете, доступ к данным таким образом? Я имею в виду использование: data = data.map(lambda x: { "customer_id": x["customer_id"], "product_id": x["product_id"], "star_rating": x["star_rating"] })