首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Pandas列中的字典拆分为单独的列

将Pandas列中的字典拆分为单独的列
EN

Stack Overflow用户
提问于 2019-07-05 01:43:10
回答 3查看 99关注 0票数 0

我将数据保存在csv中。我正在使用Python查询这些数据,并将其转换为Pandas DataFrame。在我的dataframe.It中,有一个名为team_members的列,它有一个值字典。调用该列时,该列如下所示:

代码语言:javascript
复制
dt.team_members[1]

输出:

代码语言:javascript
复制
"[{'name': 'LearnFromScratch', 'tier': 'novice tier'}, {'name': 'Scratch', 'tier': 'novice tier'}]"

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

Splitting multiple Dictionaries within a Pandas Column

但它们不起作用

我希望获得一个名为name的列,其中包含团队成员的名称,以及每个成员的层级。

你能帮帮我吗?

谢谢!!

EN

回答 3

Stack Overflow用户

发布于 2019-07-05 01:50:24

您可以在循环时提取名称

代码语言:javascript
复制
list(map(lambda x: x.get("name"), dt.team_members[1]))

如果你需要一个新的数据帧:那么遵循@vivek的答案:

代码语言:javascript
复制
pd.DataFrame(dt.team_members[1])
票数 1
EN

Stack Overflow用户

发布于 2019-07-05 01:55:08

我假设dt.team_members[1]的输出是一个列表。

如果是这样,您可以直接传递该列表来创建一个数据帧,如下所示:

代码语言:javascript
复制
pd.DataFrame(dt.team_members[1])
票数 1
EN

Stack Overflow用户

发布于 2019-07-05 02:25:27

你可以试试这个-

代码语言:javascript
复制
    list = dt.team_member[1]
    li = []
    for x in range(len(list)):
       t = {list[x]['name']:list[x]['tier']}
       li.append(t)
    print(li)

输出是-

代码语言:javascript
复制
    [{'LearnFromScratch': 'novice tier'}, {'Scratch': 'novice tier'}]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56892424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档