我将数据保存在csv中。我正在使用Python查询此数据并将其转换为Pandas DataFrame。我在数据框中有一个名为team_members的列,其中有一个值字典。该列在调用时如下所示:
dt.team_members[1]
输出:
"[{'name': 'LearnFromScratch', 'tier': 'novice tier'}, {'name': 'Scratch', 'tier': 'novice tier'}]"
我试图查看此解释和其他类似内容:
Splitting multiple Dictionaries within a Pandas Column
但是它们不起作用
我想获得一个名为name的列,其中包含团队成员的姓名,另一个包含每个成员的层级。
你能帮我吗?
谢谢!
答案 0 :(得分:1)
您可以在循环浏览时提取姓名
list(map(lambda x: x.get("name"), dt.team_members[1]))
如果您需要一个新的数据框: 然后按照@vivek的答案:
pd.DataFrame(dt.team_members[1])
答案 1 :(得分:1)
我假设Yes - `/html/body/div/section/div/div/div/div/form/div[3]/div/div/div/ul/li/div[2]/div/div/div[1]`
No - `/html/body/div/section/div/div/div/div/form/div[3]/div/div/div/ul/li/div[2]/div/div/div[2]`
的输出是一个列表。
如果是这样,您可以直接传递该列表以创建类似以下内容的数据框:
dt.team_members[1]
答案 2 :(得分:0)
您可以试试这个-
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'}]