2017-03-22 8 views
0

温度データがあり、列の中には誤った温度があり、 "3.40282E + 38"などの非常に大きな値があります。何らかの理由で、私はこのコードを使用するとき、それは科学的表記法で列を削除しています。このコードを設定して列を科学的表記にするにはどうすればよいですか?さらに、科学記法があるときにNaN値を置くように設定するにはどうすればよいですか?パンダを使用してcsvファイルを読み込み、指数表記の列にNaN値を設定します

df = pd.read_csv("input.csv", index_col="DateTime", parse_dates=True, na_values='Null', keep_default_na=False) 
    df = df.resample('1min').mean() 
    df = df.reindex(pd.date_range(df.index.min(), df.index.max(), freq="1min")) 
    df.to_csv("output.csv", index=True, index_label="DateTime", na_rep='NaN') 

答えて

1

それはたとえばなしで言うのは難しいのですが、あなたはread_csvの外の問題に対処するためにこれを試みることができる:

df = pd.read_csv(..., dtype='object') # reads data as string 
df['temperature'] = pd.to_numeric(df['temperature'], errors='coerce') 

ため'coerce'の変換が失敗することはありませんが、できなかった文字列変換される値はヌル値に置き換えられます。

関連する問題