ConstructColumns[tab,{col1,col2,…}]
表形式データ tab から列 coliを抽出することで形成された新規表形式データを構築する.
ConstructColumns[tab,{ncol1f1,ncol2f2,…}]
関数 fiを tab の各行に適用することで構築された列 ncoliを持つ新たな表形式データを返す.
ConstructColumns[cspec]
表形式データに適用可能なConstructColumnsの演算子形を表す.
ConstructColumns
ConstructColumns[tab,{col1,col2,…}]
表形式データ tab から列 coliを抽出することで形成された新規表形式データを構築する.
ConstructColumns[tab,{ncol1f1,ncol2f2,…}]
関数 fiを tab の各行に適用することで構築された列 ncoliを持つ新たな表形式データを返す.
ConstructColumns[cspec]
表形式データに適用可能なConstructColumnsの演算子形を表す.
詳細とオプション
- ConstructColumnsは,列の作成として知られている.
- ConstructColumnsは,通常,指定されていないものをすべて削除してデータの新規列を抽出または構築するために使われる.
- 次は,表形式データ tab の可能な形式である.
-
Tabular[…] 型に一貫性がある表形式オブジェクト Dataset[…] 一般的な階層型データ TimeSeries[…] サンプルされた時点と値のペアの集合 EventSeries[…] 時間事象系列 {assoc1,assoc2,…} 共通キーの連想のリスト matrix データの行列 - {…,col,ncolf,…}のように混合型の列指定は.結果において新規列 ncol が列 col の後ろに置かれなければならないことを示す.列 col は新規列の挿入のためのアンカー列と呼ばれる.
- ConstructColumns[tab,{f1,f2,…}]は,任意の表形式データ tab について,tab の各行に関数 fiを適用することで列 i が構築された新規の表形式データを返す.
- 関数 fiは,入力の表形式データ tab の個々の行に適用される.行は,tab に列キーがある場合は連想<|col1val1,…|>に,tab に列キーがない場合はリスト{val1,…}になる.
- ConstructColumns[tab,col]はConstructColumns[tab,{col}]に等しい.
- ConstructColumns[cspec][tab]はConstructColumns[tab,cspec]に等しい.
例題
すべて開く すべて閉じる例 (2)
tab = Tabular[{{2, 2.78}, {1, 3.14}, {3, 1.68}}, {"a", "b"}]ConstructColumns[tab, "c" -> Function[#a - #b]]ConstructColumns[tab, {"a", "c" -> (#a - #b&)}]ConstructColumns[tab, {"c" -> (#a - #b&), "a"}]Tabularオブジェクトから単一の列を抽出する:
Tabular[{{1, 2}, {3, 4}, {5, 6}}, {"a", "b"}]ConstructColumns[%, "b"]スコープ (13)
抽出 (7)
Tabularから1列抽出する:
tab = Tabular[{{-1, Yesterday}, {0, Today}, {1, Tomorrow}}, {"n", "date"}]ConstructColumns[tab, "date"]ConstructColumns[tab, {"date"}]Part抽出は"date"と{"date"}では異なる結果を返す:
tab[[All, "date"]]tab[[All, {"date"}]]Tabularオブジェクトから複数の列を抽出する:
tab = Tabular[{{1, 2, 3}, {4, 5, 6}}, {"a", "b", "c"}]ConstructColumns[tab, {"a", "c"}]これは,Part抽出を使うことに等しい:
tab[[All, {"a", "c"}]]ConstructColumnsはもとの列順を保持するが, Partは与えられた新たな順序を使う:
ConstructColumns[tab, {"c", "a"}]tab[[All, {"c", "a"}]]tab = Tabular[{{1, 2, 3}, {4, 5, 6}}, {"a", "b", "c"}]ConstructColumns[tab, {"a" -> Function[#a], "C" -> Function[#c]}]既存の列名を使うと順序が保持されるが,新たなキーを使うと列が並べ替えられる:
ConstructColumns[tab, {"c" -> Function[#c], "a" -> Function[#a]}]ConstructColumns[tab, {"C" -> Function[#c], "A" -> Function[#a]}]ConstructColumnsの演算子形を使って列を抽出する:
Tabular[{{1, 2, 3}, {4, 5, 6}}, {"a", "b", "c"}]%//ConstructColumns[{"b", "c"}]Datasetオブジェクトから列を抽出する:
ds = Dataset[{<|"a" -> 1, "b" -> 2, "c" -> 3|>, <|"a" -> 4, "b" -> 5, "c" -> 6|>}]ConstructColumns[ds, "b"]ConstructColumns[ds, {"a", "c"}]assocs = {<|"a" -> 1, "b" -> 2|>, <|"a" -> 3, "c" -> 4|>};ConstructColumns[assocs, "a"]任意の行の欠落項目は,Missing式として報告される:
ConstructColumns[assocs, "b"]ConstructColumns[assocs, {"a", "c"}]ConstructColumnsに第2引数に関数のリストを使って行列から列を抽出する:
MatrixForm[mat = {{1, 2, 3, 4}, {5, 6, 7, 8}}]ConstructColumns[mat, {First, Extract[3]}]//MatrixFormConstructColumns[mat, {#[[1]]&, #[[3]]&}]//MatrixFormConstructColumns[mat, {Apply[#1&], Apply[#3&]}]//MatrixFormPart抽出はより直接的な構文を与える:
mat[[All, {1, 3}]]//MatrixForm作成 (3)
3列あるTabularオブジェクトを取る:
tab = Tabular[{{1, 2, 3}, {4, 5, 6}}, {"a", "b", "c"}]指定された関数を使って2列を計算した別のTabularオブジェクトを構築する:
ConstructColumns[tab, {"b+a" -> Function[#b + #a], "b-a" -> Function[#b - #a]}]ConstructColumns[tab, {"total" -> Total, "echo" -> Echo}]3列で列のキーがないTabularオブジェクトを取る:
tab = Tabular[{{1, 2, 3}, {4, 5, 6}}]行の関数のリストによって与えられたように列を計算して別のTabularオブジェクトを構築する:
ConstructColumns[tab, {#[[2]] + #[[1]]&, #[[2]] - #[[1]]&}]f の代りにApply[f]を使って各列を別々の番号付きスロットで扱う:
ConstructColumns[tab, {Apply[#2 + #1&], Apply[#2 - #1&]}]ConstructColumns[tab, {Total, Echo}]assocs = {<|"a" -> 1, "b" -> 2|>, <|"a" -> 3, "b" -> 4|>};ConstructColumns[assocs, "c" -> Function[#a ^ 2]]列ごとの演算 (3)
ColumnwiseValueを使って列の平均をその値から引く:
tab = ToTabular[<|"c" -> {3.71, -2.7, -5.29, 9.33, 6.26}|>, "Columns"]ConstructColumns[tab, "c-μ" -> (#c - ColumnwiseValue[Mean[#c]]&)]これは,まず平均値を計算して次に各行からこれを引くことに等しい:
mean = Mean[tab[[All, 1]]]ConstructColumns[tab, "c-μ" -> (#c - mean&)]このTabularオブジェクトの列のどの要素が中央値より上になるか求める:
ToTabular[<|"c" -> {4.24, 1.14, 7.38, -6.74, 7.5}|>, "Columns"]ConstructColumns[%, "above median" -> (Echo[#c > ColumnwiseValue[Echo[Median[#c], "median:"]], #RowNumber]&)]ColumnwiseThreadを使って列全体のベクトル値変換を計算する:
tab = ToTabular[<|"v" -> {2.07, -0.75, 4.16, 7.28, 8.63, 7.93}|>, "Columns"];
ConstructColumns[tab, "z" -> (ColumnwiseThread[Accumulate[#v]]&)]ColumnwiseValueを使うと各行について同じリストが与えられる:
ConstructColumns[tab, "zlist" -> (ColumnwiseValue[Accumulate[#v]]&)]アプリケーション (3)
気象データ (1)
JFK空港からの,摂氏,ミリバール,km/時による気象データ:
data = Tabular[IconizedObject[«JFK weather»]]data1 = Discard[data, Count[#, _Missing] > 0&]chill[t_, v_] := If[t > 10 || v < 5, t, 13.12 + 0.6215 * t + (0.3965 * t - 11.37) * (v ^ 0.16), Missing[]];新規列ともとのデータから選択した数列でTabularオブジェクトを作成する:
ConstructColumns[data1, {"date", "temperature", "wind_chill" -> Function[chill[#temperature, #"wind_speed"]]}]DateListPlot[% -> {{"date", "temperature"}, {"date", "wind_chill"}}, PlotLegends -> {"temperature", "wind_chill"}]オゾン濃度の測定 (1)
ロサンゼルスの月ごとのオゾン濃度のデータのTabularオブジェクトを取る:
tab = ResourceData["Sample Tabular Data: Los Angeles Ozone"]With[{noYear = KeyDrop["Year"]}, ConstructColumns[tab, {"Year", "Mean" -> Mean @* noYear, "SD" -> StandardDeviation @* noYear, "Q1" -> (Quantile[#, .25]& @* noYear), "Median" -> Median @* noYear, "Q3" -> (Quantile[#, .75]& @* noYear)}]]ListLinePlot[% -> {{"Year", "Median"}, {"Year", "Q1"}, {"Year", "Q3"}}, PlotStyle -> {Automatic, LightGray, LightGray}, Filling -> 2 -> {3}, AxesLabel -> {"year", "pphm"}, PlotLegends -> {"Median", "Q1-Q3"}]木データ (1)
tab = ResourceData["Sample Tabular Data: NYC Trees"]ColumnKeys[tab]ConstructColumnsを使って"latitude"列と"longitude"列を結合し,GeoPositionオブジェクトの1列にする:
ConstructColumns[tab, "geoposition" -> Function[GeoPosition[{#latitude, #longitude}]]]GeoGraphics[Point[Normal[%[ ;; 1000, "geoposition"]]]]特性と関係 (2)
ConstructColumnsはDeleteColumnsを補完する操作である:
tab = Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "Integer64"],
"c" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{5, 6, 9}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{2, 1, 2}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{3, 7, 5}, {}, None}, "ElementType" ->
"Integer64"]]}}]]]];ConstructColumns[tab, "b"]DeleteColumns[tab, {"a", "c"}]ConstructColumnsはリストされた列しか保持しない:
tab = Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "Integer64"],
"c" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{1, 3, 5}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{2, 4, 6}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{3, 7, 11}, {}, None}, "ElementType" ->
"Integer64"]]}}]]]];ConstructColumns[tab, "b" -> Function[#b * 2]]TransformColumnsは,変換されていないすべての列を保持する:
TransformColumns[tab, "b" -> Function[#b * 2]]テキスト
Wolfram Research (2025), ConstructColumns, Wolfram言語関数, https://reference.wolfram.com/language/ref/ConstructColumns.html (2026年に更新).
CMS
Wolfram Language. 2025. "ConstructColumns." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2026. https://reference.wolfram.com/language/ref/ConstructColumns.html.
APA
Wolfram Language. (2025). ConstructColumns. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ConstructColumns.html
BibTeX
@misc{reference.wolfram_2026_constructcolumns, author="Wolfram Research", title="{ConstructColumns}", year="2026", howpublished="\url{https://reference.wolfram.com/language/ref/ConstructColumns.html}", note=[Accessed: 10-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_constructcolumns, organization={Wolfram Research}, title={ConstructColumns}, year={2026}, url={https://reference.wolfram.com/language/ref/ConstructColumns.html}, note=[Accessed: 10-September-2026]}