2016-07-22 15 views
2

時系列の値の最小値を取得しようとしています。私は、データのサブセットを取る場合、私はそれを行うことができるよ: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

フロートとストリングの両方がその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'] 

でそれらを見てください。希望が役立ちます。

+0

ありがとうございました! – sparrow

関連する問題