【问题标题】:Converting Excel formula into Python script for ArcGIS将 Excel 公式转换为 ArcGIS 的 Python 脚本
【发布时间】:2017-03-31 00:43:05
【问题描述】:

我需要对一些字段进行汇总、平均,然后重新分类,以便对它们进行评分。我正在 ArcGIS 中执行此操作。

我知道如何在 Excel 中分两步完成此操作:

1.

=(Field1 + Field2 + Field3)/3

2。

=IF([@[Field4]]>=10,3,IF([@[Field4]]>=5,2,IF([@[Field4]]>=0,1,IF([@[Field4]]=#N/A*,Null))))

有些字段将具有 Null 值。

另一个公式需要将字符串(范围)转换为数字,即0-5 = 1,然后6-10 = 2,等等

然后我会使用前一个来计算我需要为这些对象做什么。

【问题讨论】:

  • 那么你到底想做什么?你提到的“对象”是什么,你想得到什么输出?您能否举一个与您使用的值相似的具体示例。
  • 我在 ArcGIS 中有一个矢量图层。
  • 我在 ArcGIS 中有一个矢量图层,我需要为其计算一些属性。我想使用字段计算器(python/VB 脚本)来获取图层中已经存在的这些属性,并按上述方式处理它们。谢谢
  • 改进了措辞和格式,但我仍然不确定他在最后一部分的意思。
  • 你应该在 gis.stackexchange 上询问这个问题

标签: python excel data-conversion


【解决方案1】:

首先我建议使用 pandas 库通过read_csv 函数进行数据处理。
第一步,您可以使用 mean 函数来完成。
第二步:

df['field 4'].loc[df['field 4']>=10]=3
df['field 4'].loc[(df['field 4']>=5) & (df['fiel 4']<10)]=2
df['field 4'].loc[(df['field 4']>=0) & (df['field 4']<5)]=1
df['field 4'].fillna(None) 

【讨论】:

    猜你喜欢
    • 2017-08-29
    • 2022-07-06
    • 1970-01-01
    • 2021-12-09
    • 2020-08-04
    • 1970-01-01
    • 2021-12-06
    • 1970-01-01
    • 2017-03-07
    相关资源
    最近更新 更多