无法使用Pandas获取DataFrame列的最小值

时间:2016-07-22 01:05:30

标签: python pandas dataframe

我试图在一列时间内获取值的最小值。如果我获取数据的一部分,我能够做到:

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方法瘫痪。有没有办法调用方法并跳过坏数据?

1 个答案:

答案 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']

看看你是否能解决问题。希望有所帮助。