我将数据保存在csv中。我正在使用Python查询这些数据,并将其转换为Pandas DataFrame。在我的dataframe.It中,有一个名为team_members的列,它有一个值字典。调用该列时,该列如下所示:
dt.team_members[1]输出:
"[{'name': 'LearnFromScratch', 'tier': 'novice tier'}, {'name': 'Scratch', 'tier': 'novice tier'}]"我试着看这个解释和其他类似的解释:
Splitting multiple Dictionaries within a Pandas Column
但它们不起作用
我希望获得一个名为name的列,其中包含团队成员的名称,以及每个成员的层级。
你能帮帮我吗?
谢谢!!
发布于 2019-07-05 01:50:24
您可以在循环时提取名称
list(map(lambda x: x.get("name"), dt.team_members[1]))如果你需要一个新的数据帧:那么遵循@vivek的答案:
pd.DataFrame(dt.team_members[1])发布于 2019-07-05 01:55:08
我假设dt.team_members[1]的输出是一个列表。
如果是这样,您可以直接传递该列表来创建一个数据帧,如下所示:
pd.DataFrame(dt.team_members[1])发布于 2019-07-05 02:25:27
你可以试试这个-
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'}]https://stackoverflow.com/questions/56892424
复制相似问题