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

时间:2014-01-18 00:43:51

标签: python-3.x numpy scikit-learn

我正在使用此代码,直接来自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

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

1 个答案:

答案 0 :(得分:2)

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

np.array(list(symbol_dict.items()))