TypeError:使用numpy在0-d数组上进行迭代

问题描述 投票:6回答:1

我正在使用此代码,直接来自scikit-learn页面。它创建了一个字典:

symbol_dict = {
    'TOT': 'Total',
    'XOM': 'Exxon',
    'CVX': 'Chevron',}
symbols, names = np.array(symbol_dict.items()).T

但是我收到一个错误:

TypeError: iteration over a 0-d array

这段代码直接来自示例代码,所以我不知道出了什么问题。

python-3.x numpy scikit-learn
1个回答
2
投票

正如user2357112所说,在Python 3中,dict.items()返回一个字典视图对象而不是一个键值对列表(the difference is explained here)。将它包装在list()中会创建一个列表,NumPy可以将其转换为数组:

np.array(list(symbol_dict.items()))
© www.soinside.com 2019 - 2024. All rights reserved.