创建空数据框的 Pandas 错误

新手上路,请多包涵

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

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'

示例代码

原文由 Shivangi Singh 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 628
2 个回答

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

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

原文由 Shivangi Singh 发布,翻译遵循 CC BY-SA 4.0 许可协议

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

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

原文由 Sandertjuhh 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题