Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.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_Pandas - Fatal编程技术网

Python 使用两个字典的输出不符合预期

Python 使用两个字典的输出不符合预期,python,pandas,Python,Pandas,我正在尝试使用两个字典创建pandas数据帧,一个用于其列值,另一个用于其数据值。我需要这样做,因为我的数据是动态的,不能硬编码 Pandas没有正确输出我的数据,它将键和VAL都作为数据输出 我的字典 我的字典看起来像这样 注意:键和VAL由刮刀动态填充,下面的值仅用于示例目的 keys = {' Animal, Vegetable, Mineral '} vals = {' Dog, Carrot, Diamond '} 我的尝试 keys = [] vals = [] df5 = pd

我正在尝试使用两个字典创建pandas数据帧,一个用于其列值,另一个用于其数据值。我需要这样做,因为我的数据是动态的,不能硬编码

Pandas没有正确输出我的数据,它将键和VAL都作为数据输出

我的字典

我的字典看起来像这样

注意:键和VAL由刮刀动态填充,下面的值仅用于示例目的

keys = {' Animal, Vegetable, Mineral '}
vals = {' Dog, Carrot, Diamond '}
我的尝试

keys = []
vals = []

df5 = pd.DataFrame([keys,vals])

df5.to_excel(writer,'Sheet1',index=False)
writer = pd.ExcelWriter('Pandas-Example2.xlsx', engine='xlsxwriter')
writer.save()
预期结果

keys = []
vals = []

df5 = pd.DataFrame([keys,vals])

df5.to_excel(writer,'Sheet1',index=False)
writer = pd.ExcelWriter('Pandas-Example2.xlsx', engine='xlsxwriter')
writer.save()
我的输出应该是这样的

Animal    Vegetable    Mineral
Dog       Carrot       Diamond
实际结果

keys = []
vals = []

df5 = pd.DataFrame([keys,vals])

df5.to_excel(writer,'Sheet1',index=False)
writer = pd.ExcelWriter('Pandas-Example2.xlsx', engine='xlsxwriter')
writer.save()
但我明白了

 0           1            2        
Animal    Vegetable    Mineral
Dog       Carrot       Diamond   

我想您需要在
DataFrame
constructor中的参数列以及
keys
vals
中的列表:

keys = ['Animal', 'Vegetable', 'Mineral']
vals = ['Dog', 'Carrot', 'Diamond']

df5 = pd.DataFrame([vals], columns=keys)
print (df5)
  Animal Vegetable  Mineral
0    Dog    Carrot  Diamond

我想您需要在
DataFrame
constructor中的参数列以及
keys
vals
中的列表:

keys = ['Animal', 'Vegetable', 'Mineral']
vals = ['Dog', 'Carrot', 'Diamond']

df5 = pd.DataFrame([vals], columns=keys)
print (df5)
  Animal Vegetable  Mineral
0    Dog    Carrot  Diamond

被定义为“我的字典”部分下的集合。然后,它们将在“我的尝试”部分重新定义为列表。请检查并澄清。按照您编写的方式,您没有任何字典,但有两个集合,每个集合有一个元素?@jpp不,不,我没有硬编码这些值,它们是在运行时动态填充的。当我声明它们时,它们只是空的。@Ninja2k,那么为什么你的问题说
我的字典看起来像这样。
?请提供。
定义为“我的字典”部分下的集合。然后,它们将在“我的尝试”部分重新定义为列表。请检查并澄清。按照您编写的方式,您没有任何字典,但有两个集合,每个集合有一个元素?@jpp不,不,我没有硬编码这些值,它们是在运行时动态填充的。当我声明它们时,它们只是空的。@Ninja2k,那么为什么你的问题说
我的字典看起来像这样。
?请提供答案。我可以发誓我已经试过了!很好,谢谢。我可以发誓我已经试过了!很好,谢谢。