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

Dev*_*ity 6 numpy python-3.x scikit-learn

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

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

但是我收到一个错误:

TypeError: iteration over a 0-d array
Run Code Online (Sandbox Code Playgroud)

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

小智 2

正如 user2357112 所说,在 Python 3 中dict.items()返回的是字典视图对象而不是键值对列表(差异在这里解释)。将其包装起来list()会创建一个列表,NumPy 可以将其转换为数组:

np.array(list(symbol_dict.items()))
Run Code Online (Sandbox Code Playgroud)