首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python:将奇怪的字典转换成熊猫- dataframe

Python:将奇怪的字典转换成熊猫- dataframe
EN

Stack Overflow用户
提问于 2018-11-08 05:43:30
回答 3查看 171关注 0票数 1

我有一本字典,看起来是这样的:

代码语言:javascript
复制
result = 
{'Var1': [2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,0.0,0.0,0.0,0.0],
 'Var2': [2.0,2.0,2.0,0.0,2.0,2.0,2.0,0.0,2.0,2.0,2.0,0.0,2.0,2.0,2.0,0.0]}

我需要一个数据文件,如下所示:

代码语言:javascript
复制
   Var1   Var2
1   2.0    2.0
2   2.0    2.0
3   2.0    2.0
4   2.0    0.0
..   ..     ..

我试过这样做:

代码语言:javascript
复制
pd.DataFrame(result.items(), columns=['A', 'B']).T

我得到了一些类似的东西:

代码语言:javascript
复制
                           0                             1
A                        Var1                         Var2
B   [2.0, 2.0, 2.0, 2.0, ...]    [2.0, 2.0, 2.0, 0.0, ...]

有人能指导我如何解决这个问题吗?谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-11-08 05:45:14

您可以使用Pandas from_dict来阅读字典。

代码语言:javascript
复制
pd.DataFrame.from_dict(result)

编辑

东方:{“列”、“索引”}

数据的“方向”。如果传递的dict的键应该是生成的DataFrame的列,则传递‘columns’(默认)。否则,如果键应该是行,则传递“index”。

代码语言:javascript
复制
pd.DataFrame.from_dict(result,orient='columns')

退出:

代码语言:javascript
复制
    Var1    Var2
0   2.0 2.0
1   2.0 2.0
2   2.0 2.0
3   2.0 0.0
4   2.0 2.0
5   2.0 2.0
6   2.0 2.0
7   2.0 0.0
8   2.0 2.0
9   2.0 2.0
10  2.0 2.0
11  2.0 0.0
12  0.0 2.0
13  0.0 2.0
14  0.0 2.0
15  0.0 0.0

如果要使用字典中的键信息作为索引,可以使用index的方向。

代码语言:javascript
复制
pd.DataFrame.from_dict(result,orient='index')

退出:

代码语言:javascript
复制
         0  1   2   3   4   5   6   7   8   9   10  11  12  13  14  15
Var1    2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 0.0 0.0 0.0 0.0
Var2    2.0 2.0 2.0 0.0 2.0 2.0 2.0 0.0 2.0 2.0 2.0 0.0 2.0 2.0 2.0 0.0
票数 4
EN

Stack Overflow用户

发布于 2018-11-08 05:46:33

您所需要的只是默认构造函数:

代码语言:javascript
复制
pd.DataFrame(result)
#    Var1  Var2
#0    2.0   2.0
#1    2.0   2.0
#....
票数 2
EN

Stack Overflow用户

发布于 2018-11-08 06:40:58

答案已经呈现,但只想让它了解它是如何工作的。

在构建DataFrame

  • 熊猫DataFrame可能包含不同类型的数据,比如带有标记轴(行和列)的二维表格数据结构,或者作为一系列对象的一个类似块的容器。

它具有的示例属性(参数)。

代码语言:javascript
复制
 DataFrame(data=None, index=None, columns=None, dtype=None,copy=False)
  • 查看文档的参数部分,因此,在从字典构造DataFrame时,可以使用参数data

因此,在您的示例中,在从dict对象构建数据帧时使用参数data是合适的。

代码语言:javascript
复制
>>> pd.DataFrame(data=result)
    Var1  Var2
0    2.0   2.0
1    2.0   2.0
2    2.0   2.0
3    2.0   0.0
4    2.0   2.0
5    2.0   2.0
6    2.0   2.0
7    2.0   0.0
8    2.0   2.0
9    2.0   2.0
10   2.0   2.0
11   2.0   0.0
12   0.0   2.0
13   0.0   2.0
14   0.0   2.0
15   0.0   0.0

代码语言:javascript
复制
>>> pd.DataFrame.from_dict(result)
>>> pd.DataFrame.from_dict(result, orient='index') # Otherwise if the keys should be rows, pass 'index'
  • 上面应该是结果DataFrame的列,pass ' columns‘(默认)。否则,如果键应该是行,则传递“index”。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53202125

复制
相关文章

相似问题

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