【问题标题】:How to extract the first item in a set of dictionaries?如何提取一组字典中的第一项?
【发布时间】:2021-02-13 06:41:20
【问题描述】:

请看截图...

我正在尝试创建另一个列,拉动“流派”列的第一个元素(即第一个是动画,第二个是冒险,第三个是浪漫,依此类推......)

有人可以帮忙吗?

【问题讨论】:

  • 请贴出你目前尝试过的代码。

标签: python pandas dataframe dictionary for-loop


【解决方案1】:

您可以从字典或数据框中拆分数据。在这段代码中,我在拆分之前将列转换为列表。

import pandas as pd


### from dictionary

dd = { 'genres':[
       [{'id':16,'name':'Animation'},{'id':26,'name':'ChicFlick'}],
       [{'id':12,'name':'Adventure'},{'id':22,'name':'Horror'}],
       [{'id':18,'name':'Romance'},{'id':28,'name':'Crime'}],
       ]}
       
dd['genres2'] = [x[0]['name'] for x in dd['genres']]

print(dd)


### from dataframe

dd = { 'genres':[
       [{'id':16,'name':'Animation'},{'id':26,'name':'ChicFlick'}],
       [{'id':12,'name':'Adventure'},{'id':22,'name':'Horror'}],
       [{'id':18,'name':'Romance'},{'id':28,'name':'Crime'}],
       ]}
       
df = pd.DataFrame(dd)

df['genres2'] = [x[0]['name'] for x in df['genres'].to_list()]

print(df.to_string(index=False))

输出

{'genres': 
     [[{'id': 16, 'name': 'Animation'}, {'id': 26, 'name': 'ChicFlick'}], 
     [{'id': 12, 'name': 'Adventure'}, {'id': 22, 'name': 'Horror'}], 
     [{'id': 18, 'name': 'Romance'}, {'id': 28, 'name': 'Crime'}]], 
 'genres2': ['Animation', 'Adventure', 'Romance']}

                                                             genres    genres2
 [{'id': 16, 'name': 'Animation'}, {'id': 26, 'name': 'ChicFlick'}]  Animation
    [{'id': 12, 'name': 'Adventure'}, {'id': 22, 'name': 'Horror'}]  Adventure
       [{'id': 18, 'name': 'Romance'}, {'id': 28, 'name': 'Crime'}]    Romance

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-11
    • 1970-01-01
    • 2020-07-28
    • 1970-01-01
    • 2014-03-22
    • 1970-01-01
    • 1970-01-01
    • 2019-06-12
    相关资源
    最近更新 更多