gpt4 book ai didi

python - 使用 python 从 pandas 中的嵌套字典中获取特定键的值

转载 作者:行者123 更新时间:2023-12-01 06:26:25 24 4
gpt4 key购买 nike

我正在迭代 pandas 数据框中的行,从特定列打印出嵌套字典。我的嵌套字典如下所示:

{'dek': "<p>Don't forget to buy a card</p>",
'links': {'edit': {'dev': '//patty-menshealth.feature.net/en/content/edit/76517422-96ad-4b5c-a24a-c080c58bce0c',
'prod': '//patty-menshealth.prod.com/en/content/edit/76517422-96ad-4b5c-a24a-c080c58bce0c',
'stage': '//patty-menshealth.stage.net/en/content/edit/76517422-96ad-4b5c-a24a-c080c58bce0c'},
'frontend': {'dev': '//menshealth.feature.net/trending-news/a19521193/fathers-day-weekend-plans/',
'prod': '//www.menshealth.com/trending-news/a19521193/fathers-day-weekend-plans/',
'stage': '//menshealth.stage.net/trending-news/a19521193/fathers-day-weekend-plans/'}},
'header': {'title_color': 1, 'title_layout': 1},
'sponsor': {'program_type': 1, 'tracking_urls': []},
'social_dek': "<p>Don't forget to buy a card</p>",
'auto_social': 0,
'index_title': "\u200bWeekend Guide: Treat Your Dad Right This Father's Day",
'short_title': "Treat Your Dad Right This Father's Day",
'social_title': "\u200bWeekend Guide: Treat Your Dad Right This Father's Day",
'editors_notes': '<p>nid: 2801076<br>created_date: 2017-06-16 13:00:01<br>compass_feed_date: 2017-06-21 14:01:58<br>contract_id: 40</p>',
'seo_meta_title': "Treat Your Dad Right This Father's Day\u200b | Men’s Health",
'social_share_url': '/trending-news/a19521193/fathers-day-weekend-plans/',
'seo_related_links': {},
'editor_attribution': 'by',
'hide_from_homepage': 1,
'syndication_rights': 3,
'seo_meta_description': "\u200bFrom gifts to food ideas, we've got your Father's Day covered. Just don't forget to buy him a card."}

我使用下面的代码:

def recursive_items(dictionary):
for key, value in dictionary.iteritems():
if type(value) is dict:
yield from recursive_items(value)
else:
yield (key, value)

for key, value in recursive_items(merged_df["metadata_y"]):
print(key, value)

如何获取特定键的值?我试图包含我要使用 print(key[5], value 获取的键的索引),但它给了我一个错误: TypeError: 'int' object is not subscriptable.

如何获取该值?

最佳答案

对于没有直接解决原始问题表示歉意,但也许值得使用json_normalize“展平”嵌套列。

例如,如果您的示例数据名为dictionary:

from pandas.io.json import json_normalize

# Flatten the nested dict, resulting in a DataFrame with 1 row and 23 columns
this_df = json_normalize(dictionary)

# Inspect the resulting columns. Is this structure useful?
this_df.columns
Index(['dek', 'social_dek', 'auto_social', 'index_title', 'short_title',
'social_title', 'editors_notes', 'seo_meta_title', 'social_share_url',
'editor_attribution', 'hide_from_homepage', 'syndication_rights',
'seo_meta_description', 'links.edit.dev', 'links.edit.prod',
'links.edit.stage', 'links.frontend.dev', 'links.frontend.prod',
'links.frontend.stage', 'header.title_color', 'header.title_layout',
'sponsor.program_type', 'sponsor.tracking_urls'],
dtype='object')

关于python - 使用 python 从 pandas 中的嵌套字典中获取特定键的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60120828/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com