【问题标题】:Converting a Dict having blank list (Values) to a df将具有空白列表(值)的字典转换为 df
【发布时间】:2019-07-25 07:28:53
【问题描述】:

我是 pandas 的新手,一直在努力使用 pd.DataFrame(Dict) 将 Dict 转换为 df。这里有更多细节:这个 Dict 是 for 循环的一部分,在每次迭代中读取一个新的输入文件。结果,字典值(列表)每次更新并采用不同的列表大小。问题是,一旦 Dict 包含所有键的空白列表(值)并吐出:“ValueError: If using all scalar values, you must pass an index”,我的代码无法执行 pd.DataFrame(Dict)

Dict = {'Title': [],
'Organization': [],
'City': [],
'Company': []}

有人能解释一下吗?提前一百万谢谢。

【问题讨论】:

    标签: python pandas list dataframe dictionary


    【解决方案1】:

    通过pd.DataFrame(Dict) 命令运行您的字典示例不会给我任何错误,我只是得到一个空的DataFrame。这就是它应该的样子,因为你作为值拥有的那些空列表不是标量,它们是可迭代的。当所有值实际上都是标量(例如,整数/浮点数/字符串)时,就会显示此 ValueError。如果您只是将这些标量转换为可迭代对象,例如空列表或每个包含一个元素的列表(例如,['New York']),您应该不会收到任何错误。

    根据这个 SO thread,当您实际上有标量时,有许多建议的方法来处理此错误,例如按照错误消息的要求将索引作为列表实际传递给 pd.DataFrame()。您只需使该索引列表的大小与您提供给 DataFrame 的元素数量相同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-12-31
      • 2014-06-23
      • 1970-01-01
      • 1970-01-01
      • 2021-07-01
      • 2021-06-09
      • 1970-01-01
      相关资源
      最近更新 更多