将具有不同大小的列表的字典转换为df

时间:2019-02-21 03:02:56

标签: python pandas dataframe dictionary

我一直在努力使用pd.DataFrame(Dict)将字典转换为df,但是,我收到一个错误消息,说ValueError: arrays must all be same length。任何人都可以对此有所了解。有什么办法可以在'Value'中转换大小不同的Dict?

Dict= {'Country': [], 'Organization ': [], 'Education ': [], 'City ': ['Toronto']}

如果您能提供任何提示,将不胜感激。 非常感谢,

1 个答案:

答案 0 :(得分:2)

如果要将前三列保留为空白,则需要一个空格或np.nan而不是空白列表:

Dict= {'Country': [np.nan],
 'Organization ': [np.nan],
 'Education ': [np.nan],
 'City ': ['Toronto']}

print(pd.DataFrame(Dict))
    Country  Organization   Education     City 
0      NaN            NaN         NaN  Toronto

因此,将空列表替换为np.nan

Dict= {'Country': [],
'Organization ': [],
 'Education ': [],
 'City ': ['Toronto']}

df=pd.DataFrame({k: np.nan if not v else v for k, v in Dict.items()})
print(df)  

   Country  Organization   Education     City 
0      NaN            NaN         NaN  Toronto