解决输出的sif值中有负数的问题

This commit is contained in:
tangchao
2022-05-25 23:43:13 +08:00
parent b72d7eabfe
commit 6e6849b747

View File

@ -183,7 +183,26 @@ def processing(standard_sif, folder, out_file, pars, data, header, sky_p='P1', m
_sif = _sif.assign_coords(spec=spec)
ls.append(_sif)
sif = xr.merge(ls)
sif.to_dataframe().to_csv(out_file)
# sif.to_dataframe().to_csv(out_file)
tmp_tc = sif.to_dataframe() # tmp_tc是Pandas 数据结构 - DataFrame
cols = tmp_tc.columns
rows = tmp_tc.index
for col in cols:
if str(tmp_tc[col].dtype) == 'object': # 如果是字符串就略过
continue
for i in range(tmp_tc[col].shape[0]):
if (tmp_tc[col][i] < 0):
tmp_tc.loc[rows[i], col] = 0
# tmp_tc[col][i] = 0 # 会出错A value is trying to be set on a copy of a slice from a DataFrame
# for i in range(tmp_tc.shape[0]): # 行
# for j in range(tmp_tc.shape[1]): # 列
# if str(tmp_tc.iloc[i, j].dtype) == 'object': # 如果是字符串就略过
# continue
# print(tmp_tc.iloc[i, j])
tmp_tc.to_csv(out_file)