我是大熊猫的新手,并且一直在努力使用pd.DataFrame(Dict)
将Dict转换为df。这里有更多详细信息:该Dict是for循环的一部分,该循环在每次迭代中都读取一个新的输入文件。结果,Dict值(列表)每次都会更新并采用不同的列表大小。问题是,一旦Dict包含所有键的空白列表(值)并吐出,我的代码将无法执行pd.DataFrame(Dict)
,并且吐出:“ ValueError:如果使用所有标量值,则必须传递索引”
Dict = {'Title': [],
'Organization': [],
'City': [],
'Company': []}
有人能对此有所启发吗?预先感谢一百万。
答案 0 :(得分:0)
通过pd.DataFrame(Dict)
命令运行字典示例不会给我任何错误,我只是得到一个空的DataFrame。这就是应该的样子,因为值不是标量,所以您拥有的这些空列表是可迭代的。当所有值实际上都是标量(例如整数/浮点数/字符串)时,将显示ValueError
。如果仅将这些标量转换为可迭代值,例如空列表或每个包含一个元素的列表(例如['New York']
),就不会出现任何错误。
根据此SO thread,有许多建议的方法可以在您实际具有标量时处理此错误,例如根据错误消息的要求,将索引实际作为列表传递给pd.DataFrame()
。您只需要使该索引列表的大小与您要馈送到DataFrame的元素数相同即可。