要約統計量(Summary Statistics) (解析)

ライセンス レベル:BasicStandardAdvanced

サマリ

テーブル内のフィールドの要約統計量を求めます。

使用法

構文

Statistics_analysis (in_table, out_table, statistics_fields, {case_field})
パラメータ説明データ タイプ
in_table

統計情報の計算に使用するフィールドを含む入力テーブル入力テーブルには、INFO テーブル、dBASE テーブル、OLE DB テーブル、VPF テーブル、あるいはフィーチャクラスを指定できます。

Table View; Raster Layer
out_table

計算された統計情報を格納する、出力 dBASE またはジオデータベース テーブル

Table
statistics_fields
[[field, statistics_type],...]

属性値を含み、特定の統計情報の計算に使用される数値フィールド複数の統計情報とフィールドの組み合わせを指定できます。すべての統計情報計算から NULL 値が除外されます。

[フィールドの追加] ボタンは ModelBuilder だけで使用され、ダイアログ ボックスを完了してモデルの作成を続行できるように、必要なフィールドが追加されます。

使用可能な統計情報のタイプは以下のとおりです。

  • SUM - 指定されたフィールドの値の合計を追加します。
  • MEAN - 指定されたフィールドの平均を計算します。
  • MIN - 指定されたフィールドのすべてのレコードの中で最も小さい値を検出します。
  • MAX - 指定されたフィールドのすべてのレコードの中で最も大きい値を検出します。
  • RANGE - 指定されたフィールドの値の範囲(MAX - MIN)を検出します。
  • STD - 指定されたフィールドの値の標準偏差を検出します。
  • COUNT - 統計情報の計算に含まれる値の数を検出します。NULL 値以外の値の数がカウントされます。フィールドの NULL 値の数を特定するには、問題のフィールドで COUNT 統計情報を使用し、NULL を含まない異なるフィールド(ある場合は OID など)で COUNT 統計情報を使用して、2 つの値で減算を行います。
  • FIRST - 入力テーブルの最初の値を検出し、その指定されたフィールドの値を使用します。
  • LAST - 入力テーブルの最後の値を検出し、その指定されたフィールドの値を使用します。
Value Table
case_field
[case_field,...]
(オプション)

一意の属性値(または、複数フィールドが指定された場合には属性値の組み合わせ)ごとに、統計情報を個別に計算するために使用される、入力テーブルのフィールド

Field

コードのサンプル

Statistics(統計情報)の例(Python ウィンドウ)

次の Python ウィンドウ スクリプトは、イミディエイト モードで Statistics(統計情報)ツールを使用する方法を示しています。

import arcpy
from arcpy import env
env.workspace = "C:/data/Habitat_Analysis.gdb"
arcpy.Statistics_analysis("futrds", "C:/output/output.gdb/stats", [["Shape_Length", "SUM"]], "NM")
Statistics(統計情報)の例 2(スタンドアロン スクリプト)

次のスタンドアロン スクリプトは、幹線道路から 150 フィート以内の領域の植生に関するデータを集計します。

# Name: Statistics_Example2.py
# Description: Summarize the vegetation by area within 150 feet of major roads
 
# Import system modules
import arcpy
from arcpy import env
 
# Set environment settings
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"]]
 
# Execute Buffer to get a buffer of major roads
arcpy.Buffer_analysis(inRoads, outBuffer, bufferDistance, dissolve_option = "ALL")
 
# Execute Clip using the buffer output to get a clipped feature class
#  of vegetation
arcpy.Clip_analysis(inVegetation, outBuffer, outClip)
 
# Execute JoinField to add the vegetation type
arcpy.JoinField_management(outClip, joinField, joinTable, joinField, joinedField)
 
# Execute Statistics to get the area of each vegetation type within
#  the clipped buffer.
arcpy.Statistics_analysis(outClip, outStatsTable, statsFields, joinedField)
Statistics(統計情報)の例 3(スタンドアロン スクリプト)

次のスタンドアロン スクリプトは、データセットの属性フィールドをループ処理して、[統計フィールド] パラメータを作成し、その結果、SUM 統計情報が各数値フィールドで計算されます。

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

# Import system modules
import arcpy

# Set environment settings
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):
    # Just 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 the Summary Statistics tool with the stats list
arcpy.Statistics_analysis(intable, outtable, stats, casefield)

環境

関連トピック

ライセンス情報

ArcGIS for Desktop Basic: ○
ArcGIS for Desktop Standard: ○
ArcGIS for Desktop Advanced: ○
5/10/2014