2017-04-27 33 views
0

我是一个尝试使用python学习数据可视化的新手。 其实,我只是想跟随由cookbook给出的例子, 像:“Numpy”TypeError:数据类型“字符串”不明白

import numpy 
import os 
os.chdir("Home/Desktop/Temporal_folder") 
data = numpy.loadtxt ('ch02-data.csv', dtype= 'string', delimiter=',') 
print (data) 

但不知何故,没有工作:

Traceback (most recent call last): 
    File "Home/PycharmProjects/Learning/Datavisuallization.py", line 5, in <module> 
    data = numpy.loadtxt ('ch02-data.csv', dtype= 'string', delimiter=',') 
    File "Home/anaconda/lib/python3.6/site-packages/numpy/lib/npyio.py", line 930, in loadtxt 
    dtype = np.dtype(dtype) 
TypeError: data type "string" not understood 

这是我所使用的数据:"ch02-data.csv"

还有一些类似的问题posted,但我不确定我是否理解答案试图解释的内容。 另外,我查了一下manual of numpy.loadtext(),还是这个答案似乎对我不明显...... 有什么建议吗? https://docs.scipy.org/doc/numpy/reference/generated/numpy.loadtxt.html

+1

尝试'np.str'或者只是'str':'data = numpy.loadtxt('ch02-data.csv',dtype = numpy.str,delimiter =',')' – EdChum

回答

3

其实,它的工作原理以及在Python2,但它并没有在Python 3.x的工作,你可以尝试numpy.str

在Python 2,没有任何问题:

>>> import numpy as np 
>>> np.__version__ 
'1.12.0' 
>>> np.dtype('string') 
dtype('S') 
>>> np.dtype('str') 
dtype('S') 

在Python 3 ,这抛出一个例外:

>>> import numpy as np 
>>> np.__version__ 
'1.11.3' 
>>> np.dtype('string') 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
TypeError: data type "string" not understood 
>>> np.dtype('str') 
dtype('<U') 

你可以从this issue看到更多的细节。

+0

好奇的是,在两年内对这个错误报告采取行动(甚至没有开发者的评论)。 – alexis

1

尝试dtype ='str'而不是dtype ='string'。

相关问题