Как проверить, является ли значение числовым числом или примитивом Python - PullRequest
0 голосов
/ 21 октября 2019

У меня есть переменная value, и она может быть либо

- число numpy

- строка

- примитив python - float или int

Как определить тип? Особенно, если это число NumPy или Python примитивное число.

Когда я пытаюсь сделать следующее в интерпретаторе Python

np.issubdtype(10, np.number)

Я получаю

 arg1 = dtype(arg1).type
TypeError: data type not understood

Спасибо!

Ответы [ 5 ]

2 голосов
/ 21 октября 2019

Ты пробовал вот так.

isintance(10, (int, float, str, np.number))
1 голос
/ 21 октября 2019

Согласно numpy docs -> https://docs.scipy.org/doc/numpy/reference/generated/numpy.issubdtype.html

Аргументами для функции np.issubdtype должно быть dtypes или ее строковое представление, но не фактические значения.

Так что вы можете попробоватькак это:

np.issubdtype(type(10), np.number)
0 голосов
/ 21 октября 2019

Вы можете использовать метод type () в Python.

>>> r = np.float32(1.0)
>>> type(r).__name__
'numpy.float32'

>>> s = '1.0'
>>> type(s).__name__
'str'

>>> t = 1.0 
>>> type(t).__name__
'float'
0 голосов
/ 21 октября 2019

Если вы хотите найти тип переменной, будет ли работать тип (var)?

0 голосов
/ 21 октября 2019

Если ваша переменная равна A, ответом будет type(A).

Например, если у вас есть

import numpy as np
A = np.array([3, 4, 5])

type(A), вы должны получить numpy.ndarray как ответ. Точно так же type(234) просто возвращает int.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...