我有一个数字高程图 Tiff 文件,通过使用 Gdal
模块和 pandas
,所有数据都写入 dem.xlsx
excel 文件我的目的是用 1
替换每行的最大值,用 0
替换其他正值,用 -9999
替换负值,然后写结果在新的 excel 中。但是,我无法替换值并写入新的 excel。
这是我的代码:
import pandas as pd
import xlrd
import xlsxwriter
import gdal
layer = gdal.Open(r"C:/Users/owrasa/PycharmProjects/den/dem/dem.tif")
arr=layer.ReadAsArray()
df=pd.DataFrame(arr)
writer1 = pd.ExcelWriter(
'dem.xlsx', engine='xlsxwriter')
df.to_excel(writer1, 'Sheet1')
writer1.save()
df=pd.read_excel("dem.xlsx")
writer2 = pd.ExcelWriter('output.xlsx',engine='xlsxwriter')
for i in df:
for a in range(2851):
if i>0 and i<df.ix[a].max():
df.replace(i,0)
elif i==df.ix[a].max():
df.replace(i,1)
else:
df.replace(i,-9999)
df.to_excel(writer2, 'Sheet1')
writer2.save()
dem excel 文件有 2098 行 x 2851 列。
最佳答案
关于python - Pandas 用新集替换选择性数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40698263/