我有一些温度数据,有些列的温度不正确,读取非常大的值,例如" 3.40282E + 38"。出于某种原因,当我使用此代码时,它将使用科学记数法删除列。如何设置此代码以使列保持科学记数法?另外,如果有科学记数法,我如何设置它以放置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')
答案 0 :(得分:1)
如果没有示例,很难说,但你可以尝试这个来处理read_csv
之外的问题:
df = pd.read_csv(..., dtype='object') # reads data as string
df['temperature'] = pd.to_numeric(df['temperature'], errors='coerce')
由于'coerce'
转换不会失败,但无法转换的字符串将替换为空值。