我正在尝试获取时间列中值的最小值。如果我获取数据的一个子集,我可以做到:
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 方法出错。有没有办法调用该方法并跳过坏数据?
最佳答案
在我看来,您在那一列中既有 float 又有字符串。
看看这是否有效:
print(df7['START_TIME'].astype(str).min())
如果是,那么该列中也有 float 。您想找到它们并与它们打交道。
my_floats_indices = [i for i, v in df7['START_TIME'].iteritems() if isinstance(v, float)]
然后看看他们
df7.loc[my_floats_indices, 'START_TIME']
看看您是否可以解决您的问题。希望对您有所帮助。
关于python - 无法使用 Pandas 获取 DataFrame 列的最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38516668/