TypeError:“numpy.ndarray”和带有csv文件的“int”实例之间不支持“<”

2024-09-30 01:28:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从导入的csv文件中的特定数据列中查找特定元素(值小于5的元素)。然而,我不断遇到这个奇怪的错误。守则内容如下:

z = np.loadtxt('exoplanets_nasa_archive.csv', delimiter= ',', dtype=str )

zlabels = z[0]

#print(zlabels)

mass =z[1:, 9]

subfive =np.where(mass<5)```

#The output error reads:

TypeError                                 Traceback (most recent call last)
<ipython-input-202-af2622a146c5> in <module>()
----> 1 subfive =np.where(mass<5)

TypeError: '<' not supported between instances of 'numpy.ndarray' and 'int'

Tags: 文件csv数据元素内容错误npwhere
1条回答
网友
1楼 · 发布于 2024-09-30 01:28:34

显然你在做:

In [78]: mass = np.array([1.23, 123.3], dtype='U32')
In [79]: mass
Out[79]: array(['1.23', '123.3'], dtype='<U32')
In [80]: mass<5
Traceback (most recent call last):
  File "<ipython-input-80-39e4c1351b25>", line 1, in <module>
    mass<5
TypeError: '<' not supported between instances of 'numpy.ndarray' and 'int'

我有点惊讶,它没有抱怨string(或stringdtype)和int的实例

对于loadtxt,默认的数据类型是float,如果某些字符串不能解析为float,则会引发错误np.genfromtxt改为nan赋值

相关问题 更多 >

    热门问题