当字典值是列表时,如何在Python中将字典转换为pandas DataFrame?

Moh*_*mad 4 python dictionary list dataframe pandas

我想将Python字典转换为DataFrame。字典值是一个不同长度的列表。

例子:

import pandas as pd

data = {'A': [1], 'B': [1,2], 'C': [1,2,3]}

df = pd.DataFrame.from_dict(data)
Run Code Online (Sandbox Code Playgroud)

但是,上面的代码不起作用,出现以下错误:

ValueError: All arrays must be of the same length
Run Code Online (Sandbox Code Playgroud)

我想得到的输出如下:

name    value    
'A'      [1]         
'B'      [1,2]
'C'      [1,2,3] 
  
Run Code Online (Sandbox Code Playgroud)

jez*_*ael 8

您可以使用:

df = pd.DataFrame({'name':data.keys(), 'value':data.values()})
print (df)
  name      value
0    A        [1]
1    B     [1, 2]
2    C  [1, 2, 3]
Run Code Online (Sandbox Code Playgroud)
df = pd.DataFrame(data.items(), columns=['name','value'])
print (df)
  name      value
0    A        [1]
1    B     [1, 2]
2    C  [1, 2, 3]
Run Code Online (Sandbox Code Playgroud)

还有工作系列:

s = pd.Series(data)

print (s)
A          [1]
B       [1, 2]
C    [1, 2, 3]
dtype: object
Run Code Online (Sandbox Code Playgroud)