这几天,看了一些关于机器学习的资料,准备测试一下,重新安装发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之前,都没有问题。真不知道是咋回事。
博主在更新Anaconda3及pandas、numpy至最新版本后,使用pd.DataFrame()时遇到ValueError: invalid __array_struct__错误。该问题仅出现在某些字典列表数据上,而在相同环境下此前版本中并未出现此问题。
1805

被折叠的 条评论
为什么被折叠?



