Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从字典创建两列数据框_Python_Dictionary_Pandas - Fatal编程技术网

Python 如何从字典创建两列数据框

Python 如何从字典创建两列数据框,python,dictionary,pandas,Python,Dictionary,Pandas,我有一本python字典 dict = {'Name':value,'Name2':value2,'Name3':value3} 我想从那里创建一个数据帧,但如果我尝试这样做: df = pd.DataFrame(dict) dict1 = {'Name':1,'Name2':2,'Name3':3} df = pd.DataFrame([[key,value] for key,value in dict1.iteritems()], columns=["Name","Value"

我有一本python字典

dict = {'Name':value,'Name2':value2,'Name3':value3}
我想从那里创建一个数据帧,但如果我尝试这样做:

df = pd.DataFrame(dict)
dict1 = {'Name':1,'Name2':2,'Name3':3}
df = pd.DataFrame([[key,value] for key,value in dict1.iteritems()],
     columns=["Name","Value"])
我有两个问题,第一个问题是字典中的并非所有项都具有相同的值,第二个问题也是更重要的一个问题,我需要这种格式的一列两列数据帧:

名称1值
名称1值
名称1值
名称2值
名称2值
名称3值
名称3值
名称3值
名称3值

而不是:

名称1[值,值,值]

名称2[值,值]

名称3[值,值,值]

给予

为支持字典值中的列表而编辑:

如果
value
value2
value3
是列表:

import pandas as pd

value = [1,2,3]
value2 = [4,5,6]
value3 = [7,8,9]

mydict = {"Name1" : value, "Name2" : value2, "Name3" : value3 }
mydict
{'Name1':[1,2,3],'Name2':[4,5,6],'Name3':[7,8,9]}

然后,为字典中的每个值分配一个键:

mylist = [(key, x) for key,val in mydict.iteritems() for x in val]
现在,我们有了
mylist
is

[('Name2', 4),
 ('Name2', 5),
 ('Name2', 6),
 ('Name3', 7),
 ('Name3', 8),
 ('Name3', 9),
 ('Name1', 1),
 ('Name1', 2),
 ('Name1', 3)]
最后,转换为数据帧

df = pd.DataFrame(mylist, columns=['Name', 'Values']) 
结果是

df= 

    Name  Values
0  Name2       4
1  Name2       5
2  Name2       6
3  Name3       7
4  Name3       8
5  Name3       9
6  Name1       1
7  Name1       2
8  Name1       3
你可以试试这个:

df = pd.DataFrame(dict)
dict1 = {'Name':1,'Name2':2,'Name3':3}
df = pd.DataFrame([[key,value] for key,value in dict1.iteritems()],
     columns=["Name","Value"])

这里的预期输出是什么?您是在从dict(dict)查找pd.DataFrame.吗?另外,不要命名dict变量
dict
这会影响
dict
类型是否可以有与值一样多的行?您的意思是说字典中有许多键值对?是的,但dict中不需要,只是在数据框中可以有与值一样多的行吗?