将列中的词典拆分为单独的列

2024-09-29 21:45:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我的数据保存在csv中。我使用Python查询这些数据并将其转换为一个数据帧。我的博客里有一个专栏叫team\u members数据帧。它有一个字典的值。该列在调用时如下所示:

dt.team_members[1]

输出:

"[{'name': 'LearnFromScratch', 'tier': 'novice tier'}, {'name': 'Scratch', 'tier': 'novice tier'}]"

我试着看这个解释和其他类似的解释:

Splitting multiple Dictionaries within a Pandas Column

但它们不起作用

我想得到一个名为name的列,其中包含团队成员的姓名,另一个列包含每个成员的层。你知道吗

你能帮我吗?你知道吗

谢谢!!你知道吗


Tags: csv数据name字典dt成员multipleteam
3条回答

您可以在循环时提取名称

list(map(lambda x: x.get("name"), dt.team_members[1]))

如果需要新的数据帧: 然后跟着@vivek回答:

pd.DataFrame(dt.team_members[1])

我假设dt.team_members[1]的输出是一个列表。
如果是这样,您可以直接传递该列表来创建数据帧,例如:

pd.DataFrame(dt.team_members[1])

你可以试试这个-

    list = dt.team_member[1]
    li = []
    for x in range(len(list)):
       t = {list[x]['name']:list[x]['tier']}
       li.append(t)
    print(li)

输出为-

    [{'LearnFromScratch': 'novice tier'}, {'Scratch': 'novice tier'}]

相关问题 更多 >

    热门问题