Я получил файл json из запроса api и использовал json_normalize, чтобы преобразовать его в фрейм данных. В одной из колонок, а именно «location.categories», находится список словарей. Это выглядит так:
nearby_venues.loc[0,'venue.categories']
[{'id': '4bf58dd8d48988d16a941735',
'name': 'Bakery',
'pluralName': 'Bakeries',
'shortName': 'Bakery',
'icon': {'prefix': 'https://ss3.4sqi.net/img/categories_v2/food/bakery_',
'suffix': '.png'},
'primary': True}]
Мне нужен новый столбец только с коротким именем, например «Пекарня» в качестве значения столбца. Следующая функция выполняет свою работу. Мне нужно понять, что происходит под капотом.
def get_category_type(row):
try:
categories_list = row['categories']
except:
categories_list = row['venue.categories']
if len(categories_list) == 0:
return None
else:
return categories_list[0]['name']