我试图在一列时间内获取值的最小值。如果我获取数据的一部分,我能够做到:
print(df7.ix[3,'START_TIME'].min())
type(df7.ix[3,'START_TIME'].min())
输出正确返回:
09:17:09
str
但是,如果我尝试整个列,则会返回此错误:
print(df7['START_TIME'].min())
输出:
TypeError: unorderable types: str() <= float()
因此有一些不良数据会使min方法瘫痪。有没有办法调用方法并跳过坏数据?
答案 0 :(得分:1)
在我看来,你在这一列中都有浮动和字符串。
看看是否有效:
print(df7['START_TIME'].astype(str).min())
如果确实如此,那么您在该列中也有浮动。你想找到它们并处理它们。
my_floats_indices = [i for i, v in df7['START_TIME'].iteritems() if isinstance(v, float)]
然后用
查看它们df7.loc[my_floats_indices, 'START_TIME']
看看你是否能解决问题。希望有所帮助。