字段统计数据转表 (数据管理)

摘要

为表或要素类中的一个或多个输入字段创建描述性统计表。

插图

字段统计数据转表工具图示

使用情况

  • 该工具可接受要素类或独立表作为输入。

  • 对于输入字段参数,可以指定多个可计算统计数据的字段。 该参数接受数值(短整型、大整型、长整型、浮点型和双精度型)、文本或日期(日期、仅日期、仅时间和时间戳偏移)类型字段。

  • 输入字段参数指定的字段顺序将是输出表中行的顺序。

  • 按字段分组参数用于为指定字段中的每个唯一值分别计算输入字段统计数据。 每个输入字段的统计数据将按字段分组中的每个唯一值计算和报告一次。

  • 输出表参数为字段类型列提供了四个选项:

    • 全部 - 所有输入字段和输出统计数据,无论字段类型如何,都将导出到单个输出表。
    • 数值 - 仅导出数值类型输入字段(短整型、大整型、长整型、浮点型和双精度型),并且仅将适用于数值字段类型的统计数据导出到输出表。
    • 文本 - 仅导出文本类型输入字段,并且仅将适用于文本字段类型的统计数据导出到输出表。
    • 日期 - 仅导出日期类型输入字段(日期、仅日期、仅时间、时间戳偏移),并且仅将适用于日期字段类型的统计数据导出到输出表。

    对于每个输出表,在输出表参数的输出名称列中指定表的名称,该表将保存在由输出位置参数指定的工作空间中。

  • 可以使用输出统计参数配置输出统计及其字段名称。 如果未为此参数提供任何值,则所有适用的输出统计数据均将包含在输出表中。 下表列出了输出表参数的字段类型列的每个选项的可用统计数据和相应的输出字段类型:

    输出统计数据全部数值文本日期

    字段名

    文本

    文本

    文本

    文本

    别名

    文本

    文本

    文本

    文本

    字段类型

    文本

    文本

    文本

    文本

    长整型

    长整型

    长整型

    长整型

    最小值

    文本

    双精度

    -

    日期

    最大值

    文本

    双精度

    -

    日期

    平均值

    文本

    双精度

    -

    日期

    标准差

    双精度

    双精度

    -

    -

    中值

    文本

    双精度

    -

    日期

    计数

    长整型

    长整型

    长整型

    长整型

    唯一值数

    长整型

    长整型

    长整型

    长整型

    模式

    文本

    双精度

    文本

    日期

    最不常见

    文本

    双精度

    文本

    日期

    异常值

    长整型

    长整型

    -

    -

    总和

    双精度

    双精度

    -

    -

    范围

    文本

    双精度

    -

    文本

    四分位距

    双精度

    双精度

    -

    -

    第一四分位数

    文本

    双精度

    -

    日期

    第三四分位数

    文本

    双精度

    -

    日期

    变化系数

    双精度

    双精度

    -

    -

    偏度

    双精度

    双精度

    -

    -

    峰度

    双精度

    双精度

    -

    -

  • 可用的统计数据与数据工程视图中的可用统计数据相同。 有关如何计算每个统计数据的详细信息,请参阅与统计数据交互

  • 如果您为输出表参数的字段类型列选择全部,则所有字段类型都将导出到单个表中。 这可以帮助您一次可视化所有输入字段及其统计数据。 这为某些应用程序提供了优势;例如,在布局或报表中使用统计数据时可能更喜欢使用它。 但是,将不同的字段类型导出为单个表有一些注意事项。 某些字段类型通用的统计选项(包括众数最不常见最小值最大值)将作为文本字段存储在输出表中。 这可能会导致问题,例如,在统计数列中对这些值进行排序或在模型中链接输出统计数据时。 表中也会有空像元,因为某些统计数据不适用于文本或日期字段。

  • 如果您为输出表参数的字段类型列选择数值文本日期,则每个字段类型将导出到单独的表中,并且输出表将仅包含适用于该字段类型的统计数据。 某些适用于多种字段类型的统计数据将以与输入字段类型匹配的格式存储。 例如,在“数值”表中,最小字段的类型为双精度型,而在“日期”表中则为日期型。 建议您使用不同的输出表。 例如,要将统计数据保存为与输入字段相同的类型,请对输出表中的统计数据进行排序或在模型中使用它们的值。

  • 如果出现频率相同,输出统计数据参数的统计数据列的众数最不常见选项可以对应于输入字段中的多个值。 在这种情况下,数值、文本和日期输出表的多个值将报告为 <空>。 对于全部选项,输出像元将包含文本“多个值”。

参数

标注说明数据类型
输入表

包含用于创建统计数据表的字段的输入表。

Table View
输入字段

包含用于计算统计数据的值的字段。

Field
输出位置

要创建输出表的位置。 位置可以为地理数据库、文件夹或要素数据集。

Workspace
输出表

包含统计数据的输出表。 字段类型列用于指定将包含在每个输出表中的字段类型,每个输出表的名称在输出名称列中提供。 例如,您可以创建一个包含所有字段类型的汇总表,或者您可以为数值、文本和日期字段类型创建单独的汇总表。

可用于字段类型列的选项如下:

  • 数值 - 将创建输入数值字段(短整型、大整型、长整型、浮点型和双精度型)汇总表。
  • 文本 - 将创建输入文本字段(文本型)汇总表。
  • 日期 - 将创建输入日期字段(日期、仅日期、仅时间和时间戳偏移类型)汇总表。
  • 全部 - 将创建输入的所有数值、文本和日期字段的汇总表。 包含适用于多种字段类型的统计数据的输出字段将保存为文本型。 不适用于文本和日期型字段的输出统计数据将为空。

Value Table
分组条件字段
(可选)

将用于对行进行分组的字段。 如果提供了分组依据字段,则输入的每个字段将在输出表中显示为一行,各分组依据字段中每个唯一值都会显示一次。

Field
输出统计
(可选)

指定将汇总的统计数据以及包含统计数据的输出字段名称。 将在统计列中提供统计数据,并在输出字段名称列中提供输出字段的名称。 如果没有提供任何值,则系统将为针对所有输入字段计算所有适用的统计数据。

统计数据列提供了以下可用选项(仅适用于输入字段的统计数据才可用):

  • 字段名称 - 字段的名称。
  • 别名 - 字段的别名。
  • 字段类型 - 字段的字段类型(短整型、长整型、双精度型、浮点型、文本型或日期型)。
  • - 字段中包含空值的记录数。
  • 最小值 - 字段中的最小值。
  • 最大值 - 字段中的最大值。
  • 平均值 - 字段中所有值的平均值(总和除以总计数)。 要计算日期字段的平均日期,通过计算日期与参考日期(例如 1900-01-01)之间的差(以毫秒为单位),将每个日期转换为数字。
  • 标准差 - 字段中值的标准差。 它被计算为方差的平方根,其中方差是每个值与字段平均值的平方差的平均值。
  • 中值 - 字段中所有值的中位数。 中位数是值的排序列表中的中间值。 如果有偶数个值,则中位数是分布中两个中间值的平均值。
  • 计数 - 字段中非空值的数目。
  • 唯一值数 - 字段的唯一值数量。
  • 众数 - 字段中最常出现的值。
  • 最不常见 - 字段中最不常见的值。
  • 异常值 - 字段中具有异常值的记录数量。 异常值是大于字段值的第三四分位数或低于第一四分位数的四分位距的 1.5 倍的值。
  • 总和 - 字段内所有值的总和。
  • 范围 - 字段中最大和最小值之间的差。
  • 四分位距 - 字段中第一四分位数和第三四分位数值之间的范围。 这表示数据中间一半的范围。
  • 第一四分位数 - 字段中第一四分位数的值。 四分位数将值的排序列表分为四组,每组包含相等数量的值。 第一四分位数是升序的第一组的上限。
  • 第三四分位数 - 字段中第三四分位数的值。 四分位数将值的排序列表分为四组,每组包含相等数量的值。 第三四分位数是升序的第三组的上限。
  • 变化系数 - 字段中值的变化系数。 变化系数是值相对分布的度量。 计算方法为标准差除以字段的平均值。
  • 偏度 - 字段中值的偏度。 偏度测量分布的对称性。 偏度的计算方法是三阶矩(三次方数据值的平均值)除以三次方标准差。
  • 峰度 - 字段中值的峰度。 峰度描述了分布与正态分布的尾部相比的尾重,有助于识别极值的频率。 峰度的计算方法是:四阶矩(数据值的平均值取四次方)除以标准差的四次方。

Value Table

派生输出

标注说明数据类型
数值字段的输出表

数值数据类型的输出表。 该表将保存在由输出位置参数指定的工作空间中。

Table
文本字段的输出表

文本数据类型的输出表。 该表将保存在由输出位置参数指定的工作空间中。

Table
日期字段的输出表

日期数据类型的输出表。 该表将保存在由输出位置参数指定的工作空间中。

Table
所有字段的输出表

所有数据类型的输出表。 该表将保存在由输出位置参数指定的工作空间中。

Table

arcpy.management.FieldStatisticsToTable(in_table, in_fields, out_location, out_tables, {group_by_field}, {out_statistics})
名称说明数据类型
in_table

包含用于创建统计数据表的字段的输入表。

Table View
in_fields
[in_fields,...]

包含用于计算统计数据的值的字段。

Field
out_location

要创建输出表的位置。 位置可以为地理数据库、文件夹或要素数据集。

Workspace
out_tables
[[field_type, output_name],...]

包含统计数据的输出表。 field_type 列用于指定将包含在每个输出表中的字段类型,每个输出表的名称在 output_name 列中提供。 例如,您可以创建一个包含所有字段类型的汇总表,或者您可以为数值、文本和日期字段类型创建单独的汇总表。

可用于 field_type 列的选项如下:

  • NUMERIC - 将创建输入数值字段(短整型、大整型、长整型、浮点型和双精度型)汇总表。
  • TEXT - 将创建输入文本字段(文本型)汇总表。
  • DATE - 将创建输入日期字段(日期、仅日期、仅时间和时间戳偏移类型)汇总表。
  • ALL - 将创建输入的所有数值、文本和日期字段的汇总表。 包含适用于多种字段类型的统计数据的输出字段将保存为文本型。 不适用于文本和日期型字段的输出统计数据将为空。

Value Table
group_by_field
(可选)

将用于对行进行分组的字段。 如果提供了分组依据字段,则输入的每个字段将在输出表中显示为一行,各分组依据字段中每个唯一值都会显示一次。

Field
out_statistics
[[out_statistic, output_name],...]
(可选)

指定将汇总的统计数据以及包含统计数据的输出字段名称。 将在 out_statistic 列中提供统计数据,并在 output_name 列中提供输出字段的名称。 如果没有提供任何值,则系统将为针对所有输入字段计算所有适用的统计数据。

out_statistic 列提供了以下可用选项(仅适用于输入字段的统计数据才可用):

  • FIELDNAME - 字段的名称。
  • ALIAS - 字段的别名。
  • FIELDTYPE - 字段的字段类型(短整型、长整型、双精度型、浮点型、文本型或日期型)。
  • NULLS - 字段中包含空值的记录数。
  • MINIMUM - 字段中的最小值。
  • MAXIMUM - 字段中的最大值。
  • MEAN - 字段中所有值的平均值(总和除以总计数)。 要计算日期字段的平均日期,通过计算日期与参考日期(例如 1900-01-01)之间的差(以毫秒为单位),将每个日期转换为数字。
  • STANDARDDEVIATION - 字段中值的标准差。 它被计算为方差的平方根,其中方差是每个值与字段平均值的平方差的平均值。
  • MEDIAN - 字段中所有值的中位数。 中位数是值的排序列表中的中间值。 如果有偶数个值,则中位数是分布中两个中间值的平均值。
  • COUNT - 字段中非空值的数目。
  • NUMBEROFUNIQUEVALUES - 字段中的唯一值数
  • MODE - 字段中最常出现的值。
  • LEASTCOMMON - 字段中最不常见的值。
  • OUTLIERS - 字段中具有异常值的记录数量。 异常值是大于字段值的第三四分位数或低于第一四分位数的四分位距的 1.5 倍的值。
  • SUM - 字段内所有值的总和。
  • RANGE - 字段中最大和最小值之间的差。
  • INTERQUARTILERANGE - 字段中第一四分位数和第三四分位数值之间的范围。 这表示数据中间一半的范围。
  • FIRSTQUARTILE - 字段第一四分位数的值。 四分位数将值的排序列表分为四组,每组包含相等数量的值。 第一四分位数是升序的第一组的上限。
  • THIRDQUARTILE - 字段第三四分位数的值。 四分位数将值的排序列表分为四组,每组包含相等数量的值。 第三四分位数是升序的第三组的上限。
  • COEFFICIENTOFVARIATION - 字段中值的变化系数。 变化系数是值相对分布的度量。 计算方法为标准差除以字段的平均值。
  • SKEWNESS - 字段中值的偏度。 偏度测量分布的对称性。 偏度的计算方法是三阶矩(三次方数据值的平均值)除以三次方标准差。
  • KURTOSIS - 字段中值的峰度。 峰度描述了分布与正态分布的尾部相比的尾重,有助于识别极值的频率。 峰度的计算方法是:四阶矩(数据值的平均值取四次方)除以标准差的四次方。

Value Table

派生输出

名称说明数据类型
out_numeric

数值数据类型的输出表。 该表将保存在由输出位置参数指定的工作空间中。

Table
out_text

文本数据类型的输出表。 该表将保存在由输出位置参数指定的工作空间中。

Table
out_date

日期数据类型的输出表。 该表将保存在由输出位置参数指定的工作空间中。

Table
out_all

所有数据类型的输出表。 该表将保存在由输出位置参数指定的工作空间中。

Table

代码示例

FieldStatisticsToTable 示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何使用 FieldStatisticsToTable 函数。

import arcpy
arcpy.management.FieldStatisticsToTable("SNAP_County_Rates", 
      "LocId;Program_Name;Participants;SNAP_Rate;TimeofYear", r"C:\Output.gdb", 
      "ALL All_Table;DATE Date_Table;NUMERIC Num_Table;TEXT Text_Table")
FieldStatisticsToTable 示例 2(独立脚本)

以下独立 Python 脚本演示了如何使用 FieldStatisticsToTable 函数。

# Import system modules.
import arcpy

try:
    # Set the workspace and input features. 
    arcpy.env.workspace = r"C:\\Statistics\\MyData.gdb" 
    in_table = "County_Data" 
 
    # Set the input fields that will be used to calculate statistics. 
    in_fields = "population_total;unemployment_rate;income;county_name;sample_date" 
 
    # Set the output location.
    out_location = r"C:\\Statistics\\MyData.gdb"

    # Set the output table field type and name.
    out_tables = "ALL AllStats_Table;DATE DateStats_Table;NUMERIC NumStats_Table;TEXT TextStats_Table"
 
    # Run the Field Statistics To Table tool 
    arcpy.management.FieldStatisticsToTable (in_table, in_fields, out_location, out_tables) 
 
except arcpy.ExecuteError: 
    # If an error occurred when running the tool, print the error message. 
    print(arcpy.GetMessages())

环境

此工具不使用任何地理处理环境。

相关主题