Суммарная статистика (Анализ)

Краткая информация

Вычисляет суммарную статистику для полей в таблице.

Использование

  • Значение Выходная таблица будет состоять из полей, содержащих результат статистической операции.

  • С этим инструментом доступны следующие статистические операции: сумма, среднее, максимум, минимум, диапазон, среднеквадратическое отклонение, количество, первое, последнее, медиана и уникальные.

  • Поле будет создано для каждого типа статистики с использованием следующих правил именования: SUM_<field>, MEAN_<field>, MIN_<field>, MAX_<field>, RANGE_<field>, STD_<field>, COUNT_<field>, FIRST_<field>, LAST_<field>, MEDIAN_<field>, VARIANCE_<field>, UNIQUE_<field> и CONCATENATE_<field>, где <field> является именем входного поля, для которого вычисляется статистика. Имя поля сокращается до 10 символов, если выходная таблица является таблицей dBASE.

  • Если задано значение Поле комбинаций, статистика будет рассчитана отдельно для каждого уникального значения атрибута и для каждого значения Поля комбинаций будет своя запись. Значение параметра Выходная таблица будет содержать только одну запись, если не задано значение Поле комбинаций.

  • Пустые значения не включаются в расчет статистики. Например, среднее 10, 5 и null будет 7.5 ((10+5) / 2).

  • При использовании слоев, только выбранные в текущий момент пространственные объекты используются для вычисления статистики.

Параметры

ПодписьОписаниеТип данных
Входная таблица

Входная таблица, содержащая поля, для которых требуется вычислить статистику.

Table View; Raster Layer
Выходная таблица

Выходная таблица, в которую будет записана вычисленная статистика.

Table
Поля статистики
(Дополнительный)

Указывает числовое поле или поля, содержащее значения атрибута, для которого будет вычислен определенный статистический показатель. Могут быть заданы различные комбинации статистических показателей и полей. Пустые значения не включаются в вычисления.

Текстовые поля атрибутов могут быть суммированы с помощью первой или последней статистики. Числовые поля атрибутов могут быть суммированы с помощью любой статистики.

Доступны следующие типы статистики:

  • Сумма – сумма значений указанного поля.
  • Среднее – среднее значение для указанного поля.
  • Минимум – минимальное значение во всех записях указанного поля.
  • Максимум – максимальное значение во всех записях указанного поля.
  • Диапазон – диапазон значений (от максимального до минимального) для указанного поля.
  • Стандартное отклонение – среднеквадратическое отклонение, вычисленное для значений в указанном поле.
  • Количество – будет найдено число значений, участвующих в вычислениях. Пересчитываются все значения, исключая пустые значения. Для того чтобы определить количество пустых значений в поле, вычислите количество значений в этом поле, затем вычислите количество значений в каком-нибудь другом поле, которое не содержит пустых значений (например OID), а затем вычислите их разность.
  • Первое – значение из первой записи указанного поля во входных данных.
  • Последнее – значение из последней записи указанного поля во входных данных.
  • Медиана – медиана всех записей указанного поля.
  • Дисперсия – дисперсия значений в указанном поле.
  • Уникальные — количество уникальных значений в указанном поле.
  • Конкатенация — значения указанного поля будут объединены. Значения можно разделить с помощью параметра Разделитель конкатенации.
Value Table
Поле группировки
(Дополнительный)

Входное поле или поля, которые будут использованы для вычисления статистики для каждого уникального значения атрибута (или комбинации значений атрибутов, если задано несколько полей).

Field
Разделитель конкатенации
(Дополнительный)

Символ или символы, которые будут использоваться для конкатенации значений, когда для параметра Поля статистики используется опция Конкатенация.

String

arcpy.analysis.Statistics(in_table, out_table, {statistics_fields}, {case_field}, {concatenation_separator})
ИмяОписаниеТип данных
in_table

Входная таблица, содержащая поля, для которых требуется вычислить статистику.

Table View; Raster Layer
out_table

Выходная таблица, в которую будет записана вычисленная статистика.

Table
statistics_fields
[[field, {statistic_type}],...]
(Дополнительный)

Указывает числовое поле или поля, содержащее значения атрибута, для которого будет вычислен определенный статистический показатель. Могут быть заданы различные комбинации статистических показателей и полей. Пустые значения не включаются в вычисления.

Текстовые поля атрибутов могут быть суммированы с помощью первой или последней статистики. Числовые поля атрибутов могут быть суммированы с помощью любой статистики.

Доступны следующие типы статистики:

  • SUM – значения для указанного поля будут суммироваться.
  • MEAN – среднее значение для указанного поля.
  • MIN – минимальное значение во всех записях указанного поля.
  • MAX – максимальное значение во всех записях указанного поля.
  • RANGE – диапазон значений (от максимального до минимального) для указанного поля.
  • STD – среднеквадратическое отклонение, вычисленное для значений в указанном поле.
  • COUNT – будет найдено число значений, участвующих в вычислениях. Пересчитываются все значения, исключая пустые значения. Для того чтобы определить количество пустых значений в поле, вычислите количество значений в этом поле, затем вычислите количество значений в каком-нибудь другом поле, которое не содержит пустых значений (например OID), а затем вычислите их разность.
  • FIRST – значение из первой записи указанного поля во входных данных.
  • LAST – значение из последней записи указанного поля во входных данных.
  • MEDIAN – медиана всех записей указанного поля.
  • VARIANCE – дисперсия значений в указанном поле.
  • UNIQUE — количество уникальных значений в указанном поле.
  • CONCATENATE — значения указанного поля будут объединены. Значения можно разделить с помощью параметра concatenation_separator.
Value Table
case_field
[case_field,...]
(Дополнительный)

Входное поле или поля, которые будут использованы для вычисления статистики для каждого уникального значения атрибута (или комбинации значений атрибутов, если задано несколько полей).

Field
concatenation_separator
(Дополнительный)

Символ или символы, которые будут использоваться для конкатенации значений, когда для параметра statistics_fields используется опция CONCATENATION.

String

Пример кода

Statistics, пример (окно Python)

В следующем скрипте окна Python показано, как используется функция Statistics в режиме прямого запуска.

import arcpy
arcpy.env.workspace = "C:/data/Habitat_Analysis.gdb"
arcpy.analysis.Statistics("futrds", "C:/output/output.gdb/stats", [["Shape_Length", "SUM"]], "NM")
Statistics, пример 2 (автономный скрипт)

Пример вычисления площади полигонов растительности в пределах 150 футов от главных дорог.

# Description: Summarize the vegetation by area within 150 feet of major roads

# Import system modules
import arcpy

# Set environment settings
arcpy.env.workspace = "C:/data"

# Set local variables
inRoads = "majorrds.shp"
outBuffer = "C:/output/output.gdb/buffer_out"
bufferDistance = "250 feet"
inVegetation = "Habitat_Analysis.gdb/vegtype"
outClip = "C:/output/output.gdb/clip_out"
joinField = "HOLLAND95"
joinTable = "c:/data/vegtable.dbf"
joinedField = "HABITAT"
outStatsTable = "C:/output/output.gdb/stats_out"
statsFields = [["Shape_Area", "SUM"]]

# Run Buffer to get a buffer of major roads
arcpy.analysis.Buffer(inRoads, outBuffer, bufferDistance, dissolve_option="ALL")

# Run Clip using the buffer output to get a clipped feature class of 
# vegetation
arcpy.analysis.Clip(inVegetation, outBuffer, outClip)

# Run JoinField to add the vegetation type
arcpy.management.JoinField(outClip, joinField, joinTable, joinField, joinedField)

# Run Statistics to get the area of each vegetation type within the 
# clipped buffer.
arcpy.analysis.Statistics(outClip, outStatsTable, statsFields, joinedField)
Statistics, пример 3 (автономный скрипт)

Следующий автономный скрипт используется для просмотра атрибутивных полей набора данных и построения параметра statistics_fields, при этом для каждого числового поля вычисляется статистика SUM.


# Description: Script that runs the Summary Statistics tool to calculate the
#              Sum statistic for every numeric field based on a unique case 
#              field.

# Import system modules
import arcpy

# Set environment settings
arcpy.env.workspace = "C:/data/f.gdb"

# Set local variables
intable = "intable"
outtable = "sumstats"
casefield = "Name"
stats = []

# Loop through all fields in the Input Table
for field in arcpy.ListFields(intable):

    # Find the fields that have a numeric type
    if field.type in ("Double", "Integer", "Single", "SmallInteger"):
        # Add the field name and Sum statistic type to the list of fields to 
        # summarize
        stats.append([field.name, "Sum"])
# Correct formatting of stats [["Field1", "Sum"], ["Field2", "Sum"], ...]

# Run Statistics with the stats list
arcpy.analysis.Statistics(intable, outtable, stats, casefield)
Statistics, пример 4 (автономный скрипт)

В следующем скрипте используется pandas DataFrame для доступа и отображения в виде таблицы результатов функции Statistics.

import arcpy
import pandas
import os

arcpy.env.overwriteOutput = True

in_table = r"d:\data\states.shp"
out_table = r"in_memory\stats_table"
stat_fields = [['POP1990', 'SUM'], ['POP1997', 'SUM']]

stats = arcpy.analysis.Statistics(in_table, out_table, stat_fields,
                                  case_field='SUB_REGION')

# Get a list of field names to display
field_names = [i.name for i in arcpy.ListFields(out_table) if i.type != 'OID']

# Open a cursor to extract results from stats table
cursor = arcpy.da.SearchCursor(out_table, field_names)

# Create a pandas DataFrame to display results
df = pandas.DataFrame(data=[row for row in cursor],
                      columns=field_names)

print(df)

Информация о лицензиях

  • Basic: Да
  • Standard: Да
  • Advanced: Да

Связанные разделы