我有一本看起来像这样的字典:
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]}
我需要获取一个如下所示的数据框:
Var1 Var2
1 2.0 2.0
2 2.0 2.0
3 2.0 2.0
4 2.0 0.0
.. .. ..
我试图这样做:
pd.DataFrame(result.items(), columns=['A', 'B']).T
我得到了类似的东西:
0 1
A Var1 Var2
B [2.0, 2.0, 2.0, 2.0, ...] [2.0, 2.0, 2.0, 0.0, ...]
有人可以指导我如何解决此问题吗?谢谢!
答案 0 :(得分:4)
您可以使用Pandas Dataframe from_dict来阅读字典
pd.DataFrame.from_dict(result)
修改
orient:{'columns','index'}
数据的“方向”。如果传递的dict的键应该是结果DataFrame的列,请传递“ columns”(默认值)。否则,如果键应该是行,则传递“索引”。
pd.DataFrame.from_dict(result,orient='columns')
出局:
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
的方向
pd.DataFrame.from_dict(result,orient='index')
出局:
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
答案 1 :(得分:2)
您需要的是默认构造函数:
pd.DataFrame(result)
# Var1 Var2
#0 2.0 2.0
#1 2.0 2.0
#....
答案 2 :(得分:0)
In [1313]: df = pd.DataFrame(result)
In [1314]: df
Out[1314]:
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
答案 3 :(得分:0)
已经渲染了答案,但是Just想让它了解它是如何工作的。
在构造DataFrame时
它具有示例属性(参数)。
DataFrame(data=None, index=None, columns=None, dtype=None,copy=False)
data
因此,在您的情况下,从dict对象建立数据框时使用参数data
是合适的。
>>> 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
OR
>>> pd.DataFrame.from_dict(result)
>>> pd.DataFrame.from_dict(result, orient='index') # Otherwise if the keys should be rows, pass 'index'