値が数値型かnumpy配列かを教えてくれるnumpyの既存の関数はありますか? いくつかの異なる表現で数値を処理する必要があるデータ処理コードを書いています (「数値」とは、標準の算術演算子 +、-、*、/、* を使用して操作できる数値量の表現を意味します)。 *))。
私が探している動作の例
>>> is_numeric(5)
True
>>> is_numeric(123.345)
True
>>> is_numeric('123.345')
False
>>> is_numeric(decimal.Decimal('123.345'))
True
>>> is_numeric(True)
False
>>> is_numeric([1, 2, 3])
False
>>> is_numeric([1, '2', 3])
False
>>> a = numpy.array([1, 2.3, 4.5, 6.7, 8.9])
>>> is_numeric(a)
True
>>> is_numeric(a[0])
True
>>> is_numeric(a[1])
True
>>> is_numeric(numpy.array([numpy.array([1]), numpy.array([2])])
True
>>> is_numeric(numpy.array(['1'])
False
そのような関数が存在しない場合、次のような関数を書くのは難しくないはずです
isinstance(n, (int, float, decimal.Decimal, numpy.number, numpy.ndarray))
しかし、リストに含める必要がある他の数値型はありますか?