【问题标题】:"Numpy" TypeError: data type "string" not understood“Numpy”类型错误:数据类型“字符串”不理解
【发布时间】:2017-09-24 22:00:29
【问题描述】:

我是一个尝试使用 python 学习数据可视化的新手。 实际上,我只是想按照cookbook 给出的例子, 喜欢:

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

【问题讨论】:

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

标签: python csv numpy


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    其实在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看到更多细节。

    【讨论】:

    • 很好奇两年内没有对此错误报告采取任何行动(甚至没有开发人员的评论)。
    • 我在 2018 年 8 月在这里遇到同样的问题。显然python还没有解决方案。这里使用 Python3.6.5 Anaconda 版本。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-21
    • 2019-02-27
    • 1970-01-01
    • 2021-12-20
    • 2019-02-05
    • 2019-04-08
    • 2021-09-29
    相关资源
    最近更新 更多