pd.DataFrame()报错

博主在更新Anaconda3及pandas、numpy至最新版本后,使用pd.DataFrame()时遇到ValueError: invalid __array_struct__错误。该问题仅出现在某些字典列表数据上,而在相同环境下此前版本中并未出现此问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这几天,看了一些关于机器学习的资料,准备测试一下,重新安装发Anaconda3,pandas和numpy也跟着升到了最新版本,pandas的版本1.4.2,numpy的版本是1.21.5,但以前正常使用的pd.DataFrame()报错了,错误信息是:

    jjcode = pd.DataFrame(datas)
  File "x:\Anaconda3\lib\site-packages\pandas\core\frame.py", line 708, in __init__
    data = np.asarray(data)
  ValueError: invalid __array_struct__

查看"...frame.py", line 708,代码如下:

# For data is list-like, or Iterable (will consume into list)
 elif is_list_like(data):
    if not isinstance(data, (abc.Sequence, ExtensionArray)):
        if hasattr(data, "__array__"):
            # GH#44616 big perf improvement for e.g. pytorch tensor
            data = np.asarray(data)
        else:
            data = list(data)
上面代码的意思是如果data参数is_list_like的话,就用data = np.asarray(data)再转换一下。而且说是“big perf improvement for e.g. pytorch tensor”,我查看了我转入的datas,就是一个字典的列表,有些程度就没有问题,有些就有问题,在未重装Anaconda之前,都没有问题。真不知道是咋回事。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值