【问题标题】:Pandas Error for creating an emptydataframePandas 创建空数据框时出错
【发布时间】:2021-02-01 19:02:51
【问题描述】:

我尝试制作一个虚拟数据框,

column_names = ["a", "b", "c"]

df = pd.DataFrame(columns = column_names)

我收到以下错误,这以前没有发生过,我是否遗漏了什么。这只发生在创建空数据框时,这是最近引入的错误。

  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.7/site-packages/pandas/core/frame.py", line 411, in __init__
    mgr = init_dict(data, index, columns, dtype=dtype)
  File "/usr/local/lib/python3.7/site-packages/pandas/core/internals/construction.py", line 242, in init_dict
    val = construct_1d_arraylike_from_scalar(np.nan, len(index), nan_dtype)
  File "/usr/local/lib/python3.7/site-packages/pandas/core/dtypes/cast.py", line 1221, in construct_1d_arraylike_from_scalar
    dtype = dtype.dtype
AttributeError: type object 'object' has no attribute 'dtype'

【问题讨论】:

  • 能否提供完整代码?
  • 您的代码中还有什么内容?
  • 这就是我正在尝试的,在终端@Epsi95
  • 您使用哪个版本的熊猫?我无法重现 pandas 1.1.4 中的错误。
  • 也许当你尝试更新你的熊猫时它可以解决你的问题。

标签: python pandas dataframe


【解决方案1】:

这发生在pandas==0.25.3 更新到最新pandas==1.2.1

更新: 这是由于一个 numpy 包1.20.0, 所以我锁定了numpy包,numpy==1.19.5pandas==0.25.3

如果您想知道为什么不想不必要地更新软件包,请参考这里,https://medium.com/@singhnight/how-not-to-resolve-package-related-issues-7544c3a44dc

【讨论】:

    【解决方案2】:

    如果由于某种原因你不能/不能升级 numpy/pandas,另一种解决方法是在创建 DataFrame 时指定 dtype。例如:

    column_names = ["a", "b", "c"]
    df = pd.DataFrame(columns = column_names, dtype=object)
    

    【讨论】:

      【解决方案3】:

      由于numpy==1.20.0 而发生,并通过numpy==1.19.5 解决。 熊猫版本可能不相关,就我而言,pandas==1.0.4

      【讨论】:

        【解决方案4】:

        熊猫版本是我的问题。

        如果你从那里转移,它应该可以工作

        pandas==0.25.3 变成 pandas==1.2.3

        【讨论】:

          猜你喜欢
          • 2017-10-29
          • 2021-12-02
          • 2015-08-11
          • 2021-11-29
          • 2018-03-15
          • 1970-01-01
          • 1970-01-01
          • 2017-08-23
          • 1970-01-01
          相关资源
          最近更新 更多