首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >来自字典的Dataframe,其中值是列表

来自字典的Dataframe,其中值是列表
EN

Stack Overflow用户
提问于 2019-04-13 07:46:37
回答 2查看 66关注 0票数 0
代码语言:javascript
运行
复制
dict = {'0': ['hu'],
        '1':['yi'],
        '2':['yu', 'song'],
        '3':['zhou', 'liu', 'wang']}

下面是一个简单的例子,我想在熊猫中创建一个类似于以下格式的数据格式。因为这种格式可以帮助我在networkx中加载图形关系。

代码语言:javascript
运行
复制
0 hu
1 yi
2 yuan
2 song
3 zhou
3 liu
3 wang
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-04-13 08:27:01

因为你是熊猫的新手,我给你一个更容易读懂的代码。

  1. 由于熊猫的DataFrame对象需要两个大小相同的列表,如下所示: D= {' col1 ':1,2,' col2 ':3,4} df = pd.DataFrame(data=d) df col1 col2 0 1 3 1 2 4 我们将最初为空的列表: numb_list=[] text_list=[]
  2. 然后我们迭代您的dict,每次列表包含一个项时,我们保存它的dict键和它的值,然后用pop从相同的列表中删除它。 I在dict: while (len(dicti) >= 1):numb_list.append(i) text_list.append(dicti.pop())
  3. 最后,我们可以像这样使用DataFrame对象: D= {'number':numb_list,'text':text_list} df = pd.DataFrame(data=d)
票数 2
EN

Stack Overflow用户

发布于 2019-04-13 07:59:13

作为警告,不要使用“dict”作为变量名。在这个例子中,我已经改名为'd‘了。

使用:

代码语言:javascript
运行
复制
pd.DataFrame.from_dict(d, orient='index').stack().reset_index(level=1, drop=True)

或替代办法:

代码语言:javascript
运行
复制
pd.DataFrame([(k,x) for k, v in d.items() for x in v]).set_index(0)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55663200

复制
相关文章

相似问题

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