您可以
np.isreal用来检查每个元素的类型(applymap将一个函数应用于Dataframe中的每个元素):
In [11]: df.applymap(np.isreal)Out[11]: a bitema True Trueb True Truec True Trued False Truee True True
如果该行中的所有均为True,则它们均为数字:
In [12]: df.applymap(np.isreal).all(1)Out[12]:itema Trueb Truec Trued Falsee Truedtype: bool
因此,要获取路由的subDataframe,(请注意:上面的否定〜会找到至少具有一个流氓非数字字符的那些):
In [13]: df[~df.applymap(np.isreal).all(1)]Out[13]: a bitemd bad 0.4
您还可以找到可以使用argmin的
第一个
罪犯的位置:
In [14]: np.argmin(df.applymap(np.isreal).all(1))Out[14]: 'd'
正如@CTZhu指出的那样,检查它是int还是float的实例可能会稍快一些(np.isreal会有一些额外的开销):
df.applymap(lambda x: isinstance(x, (int, float)))
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)