我有一个熊猫数据框binnary_crossentropy
,我要在其中检查数据类型
df
我有一个检查数据类型的函数,即一个值是否为标量
import pandas as pd
import numpy as np
df
>>> a1 a2 a3 a4
0 5 10.08 22.9 50.45
1 25 13.80 43.0 NaN
2 2 8.30 15.0 17.00
print(df.dtypes)
>>>
a1 int64
a2 float64
a3 float64
a4 float64
dtype: object
现在,如果我跑步
def isScalar(a):
if isinstance(a, (int, float, np.int64, np.float64)):
return True
else:
return False
我们看到df.applymap(isScalar)
>>> a1 a2 a3 a3
0 False True True True
1 False True True True
2 False True True True
列全为False,这与我通过a1
运行单个值是否矛盾
isScalar()
这是怎么回事? print(type(df.a1[1]))
>>> numpy.int64
print(isScalar(df.a1[1]))
>>> True
返回的a1
的值都应该为True。