Numpy ValueError(得到1列而不是2列)

时间:2015-08-03 21:23:00

标签: python numpy

在有人指出重复之前,这与this不同。

在那个问题中,他的错误是

ValueError: Some errors were detected !
Line #88 (got 1435 columns instead of 1434)

列数超过预期(可能是某处的额外分隔符)。

我正在处理一个文件,其中两列由一个标签分隔(' \ t')并使用以下

movies = np.genfromtxt('imdb/movie_keywords', delimiter = '\t', dtype = None)

我收到以下错误

ValueError: Some errors were detected !
Line #44209 (got 1 columns instead of 2)
Line #44210 (got 1 columns instead of 2)
Line #44211 (got 1 columns instead of 2)
Line #93460 (got 1 columns instead of 2)
...

以下是文件中的四行(原始文本)

前两个是第1行和第#行,它们不会抛出错误

'$ (1971)\tbank-heist'
'Angela (1954)\tamerican-car-salesman'

这些来自#44209#93463行,它会抛出错误

'Animated (1989)\taustralian'
'Animated Motion #1 (1976)\tindependent-film'

可能有些侦探指出这里的区别导致numpy不能在错误抛出线中拾取标签?

要添加,如果使用pandas和此代码,我不会收到任何错误:

keywords = pd.read_csv('imdb/movie_keywords', delimiter = '\t', dtype = None, names = ['movie', 'keyword'])
但是,对于我希望进行的操作,熊猫是不够的。

1 个答案:

答案 0 :(得分:0)

这个问题的目的是找到Numpy的问题,正如使用Pandas的问题所述,没有错误。如果有人正在寻找解决方法,这似乎有效:

keywords = pd.read_csv('imdb/movie_keywords', delimiter = '\t', dtype = None, names = ['movie', 'keyword'])

keywords_array = keywords.as_matrix()