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

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

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

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

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

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

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

    Выходное поле Frequency - это количество всех входных записей, представленных уникальным набором значений полей. Если параметр Поле комбинаций не задан, это будет количество всех входных записей.

  • Поле будет создано для каждого типа статистики с использованием следующих правил именования: 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>, DBMS_SUM_<field>, DBMS_MEAN_<field>, DBMS_MIN_<field>, DBMS_MAX_<field>, DBMS_STD_<field>, DBMS_COUNT_<field>, DBMS_MEDIAN_<field> и DBMS_VARIANCE_<field>, где <поле> является именем входного поля, для которого вычисляется статистика. Имя поля сокращается до 10 символов, если выходная таблица является таблицей dBASE.

  • Используйте типы статистики СУБД для обработки статистики непосредственно в базе данных или сервисе, а не на стороне клиента. Типы статистики СУБД поддерживаются только для входных источников данных базы геоданных, включая многопользовательские базы геоданных, сервисы объектов, облачные хранилища данных, GeoPackage и базы геоданных SQLite.

    Типы статистики СУБД не поддерживают вывод dBASE.

  • Пустые значения не включаются в расчет статистики. Например, среднее 6, 4, и пустого значения равно 5 ((6+4)/2).

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

Параметры

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

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

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

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

Table
Поля статистики

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

Числовые поля атрибутов могут быть суммированы с помощью любой статистики. Текстовые поля атрибутов могут быть суммированы с помощью статистики: минимум, максимум, количество, первый, последний, уникальные, конкатенация и мода. Для атрибутивных полей Даты, только даты и смещения временной метки может быть вычислена только статистика среднее, минимум, максимум, количество, первый, последний, уникальные и конкатенация.

Типы статистики СУБД поддерживаются только для входных источников данных базы геоданных, включая многопользовательские базы геоданных, сервисы объектов, облачные хранилища данных и базы геоданных SQLite.

  • Сумма – будут сложены все значения указанного поля.
  • Среднее – будет вычислено среднее значение для указанного поля.
  • Минимум – будет определено наименьшее значение указанного поля.
  • Максимум — будет определено наибольшее значение указанного поля.
  • Диапазон – будет вычислен диапазон значений (от максимального до минимального) для указанного поля.
  • Стандартное отклонение – будет вычислено среднеквадратическое отклонение для значений в указанном поле.
  • Количество — будет определено количество значений указанного поля.
  • Первое – будет использоваться значение первой записи указанного поля во входных данных.
  • Последнее – будет использоваться значение последней записи указанного поля во входных данных.
  • Медиана — будет вычислена медиана указанного поля
  • Дисперсия— будет вычислена дисперсия указанного поля.
  • Уникальные — будет найдено количество уникальных значений в указанном поле.
  • Конкатенация — значения указанного поля будут объединены. Значения можно разделить с помощью параметра Разделитель конкатенации.
  • Мода — будет определена мода (наиболее распространенное значение) указанного поля. Если более одного значения равны по распространенности, будет возвращено самое низкое из них.
  • Сумма СУБД — будут сложены все значения указанного поля.
  • Среднее СУБД — будет вычислено среднее значение для указанного поля.
  • Минимум СУБД – будет определено наименьшее значение указанного поля.
  • Максимум СУБД — будет определено наибольшее значение указанного поля.
  • Стандартное отклонение СУБД– будет вычислено среднеквадратическое отклонение для значений в указанном поле.
  • Количество СУБД — будет определено количество значений указанного поля.
  • Медиана СУБД — будет вычислена медиана указанного поля
  • Дисперсия СУБД — будет вычислена дисперсия указанного поля.
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}],...]

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

Числовые поля атрибутов могут быть суммированы с помощью любой статистики. Текстовые поля атрибутов могут быть суммированы с помощью статистики: минимум, максимум, количество, первый, последний, уникальные, конкатенация и мода. Для атрибутивных полей Даты, только даты и смещения временной метки может быть вычислена только статистика среднее, минимум, максимум, количество, первый, последний, уникальные и конкатенация.

Типы статистики СУБД поддерживаются только для входных источников данных базы геоданных, включая многопользовательские базы геоданных, сервисы объектов, облачные хранилища данных и базы геоданных SQLite.

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

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

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

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

String

Пример кода

Statistics, пример 1 (окно 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: Да

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