Zugreifen auf Daten in Tabellen
Eine Tabelle ist ein Container, der spaltenorientierte Daten in Variablen speichert. Um auf die Daten in einer Tabelle zuzugreifen, können Sie die Tabelle durch Angabe von Zeilen und Variablen indizieren, genauso wie Sie eine Matrix durch Angabe von Zeilen und Spalten indizieren können. Tabellenvariablen haben Namen, ebenso wie die Felder einer Struktur Namen haben. Die Zeilen einer Tabelle können ebenfalls Namen haben, jedoch sind Zeilennamen nicht erforderlich. Um eine Tabelle zu indizieren, geben Sie Zeilen und Variablen entweder anhand von Positionen, Namen oder Datentypen an. Das Ergebnis kann entweder ein Array oder eine Tabelle sein.
In diesem Abschnitt werden die verschiedenen Indizierungssyntaxen für Tabellen beschrieben und wann die einzelnen Typen verwendet werden sollten. Weitere Beispiele veranschaulichen die verschiedenen Möglichkeiten, diese Arten der Tabellenindizierung anzuwenden. In der Tabelle am Ende des Abschnitts sind die Indizierungssyntaxen, die Angabe von Zeilen und Variablen sowie die resultierenden Ausgaben zusammengefasst.
Indizierungssyntaxen für Tabellen
Je nach Art der verwendeten Indizierung ist das Ergebnis entweder ein aus der Tabelle extrahiertes Array oder eine neue Tabelle. Indizierung mit:
Punktnotation, wie in
T.odervarnameT.(, extrahiert ein Array aus einer Tabellenvariablen.expression)Geschweifte Klammern, wie in
T{, extrahieren ein Array aus den angegebenen Zeilen und Variablen. Die Variablen müssen kompatible Datentypen aufweisen, damit sie zu einem Array verkettet werden können.rows,vars}Klammern, wie in
T(, geben eine Tabelle zurück, die nur die angegebenen Zeilen und Variablen enthält.rows,vars)
Dieses Diagramm veranschaulicht die drei Arten der Tabellenindizierung.

Empfohlene Indizierungssyntaxen
Die empfohlene Methode für den Zugriff auf die Inhalte einer Tabelle hängt vom gewünschten Ergebnis und der Anzahl der angegebenen Variablen ab. In diesen Syntaxbeispielen ist T eine Tabelle mit den Variablen Var1, Var2 und Var3. (Wenn Sie beim Aufruf der Funktion table keine Variablennamen angeben, werden diese Namen als Standardnamen verwendet.)
T = table([1;2;3;4;5],[5;10;15;20;25],[150;300;450;600;750])
Um auf eine Tabellenvariable zuzugreifen, verwenden Sie die Punktnotation. Geben Sie einen Variablennamen oder einen Ausdruck an, der mit dem Namen oder der Position einer Variablen übereinstimmt.
Die Verwendung von Klarnamen für Variablen ist schneller als die Verwendung von Ausdrücken. Beispielsweise greifen sowohl
T.Var1als auchT.(1)auf die erste Variable vonTzu, jedoch ist die Verwendung des Ausdrucks langsamer.X = T.Var1 Y = T.Var1(1:3) Z = T.(1) T.Var1 = T.Var1 .* 10
Sie können auch eine Variable mithilfe von geschweiften Klammern angeben. Der Zugriff auf eine Variable mithilfe der Punktschreibweise ist jedoch schneller als der Zugriff auf eine Variable mithilfe von geschweiften Klammern.
Verwenden Sie geschweifte Klammern, um auf mehrere Tabellenvariablen zuzugreifen.
X = T{:,["Var1","Var2"]} Y = T{1:3,["Var1","Var2"]} T{:,["Var1","Var2"]} = T{:,["Var1","Var2"]} .* 10Verwenden Sie Klammern, um eine Tabelle zurückzugeben, die nur bestimmte Zeilen und Variablen enthält.
T2 = T(:,["Var1","Var2"]) T2 = T(1:3,["Var1","Var2"]) A = rand(5,1) B = rand(5,1) T(:,["Var1","Var2"]) = table(A,B)
Indizieren durch Angabe von Zeilen und Variablen
Sie können Tabellen indizieren, indem Sie numerische Indizes, Zeilen- und Variablennamen oder Variablendatentypen angeben.
Erstellen Sie eine Tabelle. Laden Sie die Daten-Arrays aus der Beispieldatei patients.mat. Erstellen Sie anschließend aus diesen Arrays eine Tabelle mit der Funktion table. Die Namen der Eingabe-Arrays werden zu den Namen der Tabellenvariablen. Zeilennamen sind optional. Verwenden Sie das Name-Wert-Argument RowNames, um Zeilennamen anzugeben.
load patients.mat Age Height Weight Smoker LastName T = table(Age,Height,Weight,Smoker,RowNames=LastName)
T=100×4 table
Age Height Weight Smoker
___ ______ ______ ______
Smith 38 71 176 true
Johnson 43 69 163 false
Williams 38 64 131 false
Jones 40 67 133 false
Brown 49 64 119 false
Davis 46 68 142 false
Miller 33 64 142 true
Wilson 40 68 180 false
Moore 28 68 183 false
Taylor 31 66 132 false
Anderson 45 68 128 false
Thomas 42 66 137 false
Jackson 25 71 174 false
White 39 72 202 true
Harris 36 65 129 false
Martin 48 71 181 true
⋮
Indizieren nach Position
Sie können Tabellen indizieren, indem Sie Positionen als numerische Indizes angeben. Sie können auch Doppelpunkte und das Schlüsselwort end verwenden.
Indizieren Sie beispielsweise die ersten drei Zeilen von T. Diese Syntax stellt eine kompakte Methode dar, um eine Tabelle mit der angegebenen Anzahl von Zeilen zurückzugeben.
firstRows = T(1:3,:)
firstRows=3×4 table
Age Height Weight Smoker
___ ______ ______ ______
Smith 38 71 176 true
Johnson 43 69 163 false
Williams 38 64 131 false
Geben Sie eine Tabelle mit den ersten beiden Variablen und den letzten drei Zeilen von T zurück.
lastRows = T(end-2:end,1:2)
lastRows=3×2 table
Age Height
___ ______
Griffin 49 70
Diaz 45 68
Hayes 48 66
Wenn die Variablen kompatible Datentypen aufweisen, können Sie geschweifte Klammern verwenden, um die extrahierten Daten als Array zurückzugeben.
lastRowsAsArray = T{end-2:end,1:2}lastRowsAsArray = 3×2
49 70
45 68
48 66
Indizieren nach Variablennamen
Sie können Tabellen indizieren, indem Sie Variablennamen mithilfe eines Zeichenfolgen-Arrays angeben. Tabellenvariablennamen müssen keine gültigen MATLAB®-Bezeichner sein. Sie können Leerzeichen und Nicht-ASCII-Zeichen enthalten und mit jedem beliebigen Zeichen beginnen.
Geben Sie beispielsweise eine Tabelle zurück, die nur die ersten drei Zeilen von T und die Variablen Height und Weight enthält.
variablesByName = T(1:3,["Height","Weight"])
variablesByName=3×2 table
Height Weight
______ ______
Smith 71 176
Johnson 69 163
Williams 64 131
Verwenden Sie geschweifte Klammern, um die Daten als Array zurückzugeben.
arraysFromVariables = T{1:3,["Height","Weight"]}arraysFromVariables = 3×2
71 176
69 163
64 131
Sie können auch die Punktschreibweise verwenden, um eine Variable zu indizieren. Tatsächlich ist die Punktschreibweise effizienter, wenn Sie nur auf eine Variable zugreifen.
heightAsArray = T.Height
heightAsArray = 100×1
71
69
64
67
64
68
64
68
68
66
68
66
71
72
65
⋮
Verwenden Sie die Punktschreibweise, um die ersten drei Zeilen der Variablen Height als Array zurückzugeben.
firstHeights = T.Height(1:3)
firstHeights = 3×1
71
69
64
Indizieren nach Zeilennamen
Wenn eine Tabelle Zeilennamen enthält, können Sie diese nicht nur anhand der Zeilennummer, sondern auch anhand des Zeilennamens indizieren. Geben Sie beispielsweise die Zeilen T für drei bestimmte Patienten zurück.
rowsByName = T(["Griffin","Diaz","Hayes"],:)
rowsByName=3×4 table
Age Height Weight Smoker
___ ______ ______ ______
Griffin 49 70 186 false
Diaz 45 68 172 true
Hayes 48 66 177 false
Sie können auch geschweifte Klammern verwenden, um die Daten als Array zurückzugeben.
arraysFromRows = T{["Griffin","Diaz","Hayes"],:}arraysFromRows = 3×4
49 70 186 0
45 68 172 1
48 66 177 0
Indizieren in ein Element
Um auf ein Element einer Tabelle zuzugreifen, geben Sie eine Zeile und eine Variable an. Verwenden Sie geschweifte Klammern, um das Element als Array zurückzugeben, in diesem Fall einen Skalarwert.
oneElement = T{"Diaz","Height"}oneElement = 68
Verwenden Sie Klammern, um dieses Element als Tabelle mit einer Zeile und einer Variablen zurückzugeben.
oneElementTable = T("Diaz","Height")
oneElementTable=table
Height
______
Diaz 68
Indizieren nach variablem Datentyp
Um eine Tabelle durch Angabe von Variablen mit demselben Datentyp zu indizieren, erstellen Sie einen Datentyp-Index mit der Funktion vartype.
Erstellen Sie beispielsweise einen Datentyp-Index, der mit numerischen Tabellenvariablen übereinstimmt.
numSubscript = vartype("numeric")numSubscript = table vartype subscript: Select table variables matching the type 'numeric' See Access Data in a Table.
Geben Sie eine Tabelle zurück, die ausschließlich die numerischen Variablen von T enthält. Die Variable Smoker ist nicht enthalten, da es sich um eine logische Variable handelt.
onlyNumVariables = T(:,numSubscript)
onlyNumVariables=100×3 table
Age Height Weight
___ ______ ______
Smith 38 71 176
Johnson 43 69 163
Williams 38 64 131
Jones 40 67 133
Brown 49 64 119
Davis 46 68 142
Miller 33 64 142
Wilson 40 68 180
Moore 28 68 183
Taylor 31 66 132
Anderson 45 68 128
Thomas 42 66 137
Jackson 25 71 174
White 39 72 202
Harris 36 65 129
Martin 48 71 181
⋮
Zuweisen von Werten zur Tabelle
Sie können jede beliebige Indizierungssyntax verwenden, um einer Tabelle Werte zuzuweisen. Sie können Variablen, Zeilen oder einzelnen Elementen Werte zuweisen.
Zuweisen von Werten zu Variablen
Importieren Sie Daten zu Stromausfällen aus einer Tabellenkalkulation mithilfe der Funktion readtable in eine Tabelle.
outages = readtable("outages.csv",TextType="string")
outages=1468×6 table
Region OutageTime Loss Customers RestorationTime Cause
___________ ________________ ______ __________ ________________ _________________
"SouthWest" 2002-02-01 12:18 458.98 1.8202e+06 2002-02-07 16:50 "winter storm"
"SouthEast" 2003-01-23 00:49 530.14 2.1204e+05 NaT "winter storm"
"SouthEast" 2003-02-07 21:15 289.4 1.4294e+05 2003-02-17 08:14 "winter storm"
"West" 2004-04-06 05:44 434.81 3.4037e+05 2004-04-06 06:10 "equipment fault"
"MidWest" 2002-03-16 06:18 186.44 2.1275e+05 2002-03-18 23:23 "severe storm"
"West" 2003-06-18 02:49 0 0 2003-06-18 10:54 "attack"
"West" 2004-06-20 14:39 231.29 NaN 2004-06-20 19:16 "equipment fault"
"West" 2002-06-06 19:28 311.86 NaN 2002-06-07 00:51 "equipment fault"
"NorthEast" 2003-07-16 16:23 239.93 49434 2003-07-17 01:12 "fire"
"MidWest" 2004-09-27 11:09 286.72 66104 2004-09-27 16:37 "equipment fault"
"SouthEast" 2004-09-05 17:48 73.387 36073 2004-09-05 20:46 "equipment fault"
"West" 2004-05-21 21:45 159.99 NaN 2004-05-22 04:23 "equipment fault"
"SouthEast" 2002-09-01 18:22 95.917 36759 2002-09-01 19:12 "severe storm"
"SouthEast" 2003-09-27 07:32 NaN 3.5517e+05 2003-10-04 07:02 "severe storm"
"West" 2003-11-12 06:12 254.09 9.2429e+05 2003-11-17 02:04 "winter storm"
"NorthEast" 2004-09-18 05:54 0 0 NaT "equipment fault"
⋮
Um einer Variablen Werte zuzuweisen, verwenden Sie die Punktschreibweise. Skalieren Sie beispielsweise die Variable Loss um den Faktor 100.
outages.Loss = outages.Loss .* 100
outages=1468×6 table
Region OutageTime Loss Customers RestorationTime Cause
___________ ________________ ______ __________ ________________ _________________
"SouthWest" 2002-02-01 12:18 45898 1.8202e+06 2002-02-07 16:50 "winter storm"
"SouthEast" 2003-01-23 00:49 53014 2.1204e+05 NaT "winter storm"
"SouthEast" 2003-02-07 21:15 28940 1.4294e+05 2003-02-17 08:14 "winter storm"
"West" 2004-04-06 05:44 43481 3.4037e+05 2004-04-06 06:10 "equipment fault"
"MidWest" 2002-03-16 06:18 18644 2.1275e+05 2002-03-18 23:23 "severe storm"
"West" 2003-06-18 02:49 0 0 2003-06-18 10:54 "attack"
"West" 2004-06-20 14:39 23129 NaN 2004-06-20 19:16 "equipment fault"
"West" 2002-06-06 19:28 31186 NaN 2002-06-07 00:51 "equipment fault"
"NorthEast" 2003-07-16 16:23 23993 49434 2003-07-17 01:12 "fire"
"MidWest" 2004-09-27 11:09 28672 66104 2004-09-27 16:37 "equipment fault"
"SouthEast" 2004-09-05 17:48 7338.7 36073 2004-09-05 20:46 "equipment fault"
"West" 2004-05-21 21:45 15999 NaN 2004-05-22 04:23 "equipment fault"
"SouthEast" 2002-09-01 18:22 9591.7 36759 2002-09-01 19:12 "severe storm"
"SouthEast" 2003-09-27 07:32 NaN 3.5517e+05 2003-10-04 07:02 "severe storm"
"West" 2003-11-12 06:12 25409 9.2429e+05 2003-11-17 02:04 "winter storm"
"NorthEast" 2004-09-18 05:54 0 0 NaT "equipment fault"
⋮
Sie können Daten auch mehreren Variablen zuweisen, indem Sie geschweifte Klammern verwenden. Die Variablen müssen kompatible Datentypen aufweisen. Skalieren Sie beispielsweise Loss und Customers um den Faktor 1/10.000.
outages{:,["Loss","Customers"]} = outages{:,["Loss","Customers"]} ./ 10000outages=1468×6 table
Region OutageTime Loss Customers RestorationTime Cause
___________ ________________ _______ _________ ________________ _________________
"SouthWest" 2002-02-01 12:18 4.5898 182.02 2002-02-07 16:50 "winter storm"
"SouthEast" 2003-01-23 00:49 5.3014 21.204 NaT "winter storm"
"SouthEast" 2003-02-07 21:15 2.894 14.294 2003-02-17 08:14 "winter storm"
"West" 2004-04-06 05:44 4.3481 34.037 2004-04-06 06:10 "equipment fault"
"MidWest" 2002-03-16 06:18 1.8644 21.275 2002-03-18 23:23 "severe storm"
"West" 2003-06-18 02:49 0 0 2003-06-18 10:54 "attack"
"West" 2004-06-20 14:39 2.3129 NaN 2004-06-20 19:16 "equipment fault"
"West" 2002-06-06 19:28 3.1186 NaN 2002-06-07 00:51 "equipment fault"
"NorthEast" 2003-07-16 16:23 2.3993 4.9434 2003-07-17 01:12 "fire"
"MidWest" 2004-09-27 11:09 2.8672 6.6104 2004-09-27 16:37 "equipment fault"
"SouthEast" 2004-09-05 17:48 0.73387 3.6073 2004-09-05 20:46 "equipment fault"
"West" 2004-05-21 21:45 1.5999 NaN 2004-05-22 04:23 "equipment fault"
"SouthEast" 2002-09-01 18:22 0.95917 3.6759 2002-09-01 19:12 "severe storm"
"SouthEast" 2003-09-27 07:32 NaN 35.517 2003-10-04 07:02 "severe storm"
"West" 2003-11-12 06:12 2.5409 92.429 2003-11-17 02:04 "winter storm"
"NorthEast" 2004-09-18 05:54 0 0 NaT "equipment fault"
⋮
Zuweisen von Werten zu Zeilen
Um einer Tabelle eine Zeile zuzuweisen, können Sie entweder eine einzeilige Tabelle oder ein Zellenarray verwenden. In diesem Fall kann die Verwendung eines Zellenarrays praktischer sein als das Erstellen und Zuweisen einer einzeiligen Tabelle.
Weisen Sie beispielsweise Daten einer neuen Zeile am Ende von outages zu. Zeigen Sie das Ende der Tabelle an.
outages(end+1,:) = {"East",datetime("now"),17.3,325,datetime("tomorrow"),"unknown"};
outages(end-2:end,:)ans=3×6 table
Region OutageTime Loss Customers RestorationTime Cause
___________ ________________ ________ _________ ________________ _________________
"SouthEast" 2013-12-20 19:52 0.023096 0.10382 2013-12-20 23:29 "thunder storm"
"SouthEast" 2011-09-14 11:55 0.45042 1.1835 2011-09-14 13:28 "equipment fault"
"East" 2025-08-09 12:26 17.3 325 2025-08-10 00:00 "unknown"
Um Daten mehreren Zeilen zuzuweisen, verwenden Sie Werte aus einer anderen Tabelle, die Variablen mit denselben Namen und Datentypen enthält. Erstellen Sie beispielsweise eine neue Tabelle mit zwei Zeilen.
newOutages = table(["West";"North"], ... datetime(2024,1,1:2)', ... [3;4], ... [300;400], ... datetime(2024,1,3:4)',["unknown";"unknown"], ... VariableNames=outages.Properties.VariableNames)
newOutages=2×6 table
Region OutageTime Loss Customers RestorationTime Cause
_______ ___________ ____ _________ _______________ _________
"West" 01-Jan-2024 3 300 03-Jan-2024 "unknown"
"North" 02-Jan-2024 4 400 04-Jan-2024 "unknown"
Weisen Sie die zweizeilige Tabelle den ersten beiden Zeilen von outages zu. Anschließend werden die ersten vier Zeilen von outages angezeigt.
outages(1:2,:) = newOutages; outages(1:4,:)
ans=4×6 table
Region OutageTime Loss Customers RestorationTime Cause
___________ ________________ ______ _________ ________________ _________________
"West" 2024-01-01 00:00 3 300 2024-01-03 00:00 "unknown"
"North" 2024-01-02 00:00 4 400 2024-01-04 00:00 "unknown"
"SouthEast" 2003-02-07 21:15 2.894 14.294 2003-02-17 08:14 "winter storm"
"West" 2004-04-06 05:44 4.3481 34.037 2004-04-06 06:10 "equipment fault"
Zuweisen von Werten zu Elementen
Verwenden Sie geschweifte Klammern, um Elementen einer Tabelle Werte zuzuweisen. Weisen Sie beispielsweise den ersten beiden Ausfällen Ursachen zu.
outages{1,"Cause"} = "severe storm";
outages{2,"Cause"} = "attack";
outages(1:4,:)ans=4×6 table
Region OutageTime Loss Customers RestorationTime Cause
___________ ________________ ______ _________ ________________ _________________
"West" 2024-01-01 00:00 3 300 2024-01-03 00:00 "severe storm"
"North" 2024-01-02 00:00 4 400 2024-01-04 00:00 "attack"
"SouthEast" 2003-02-07 21:15 2.894 14.294 2003-02-17 08:14 "winter storm"
"West" 2004-04-06 05:44 4.3481 34.037 2004-04-06 06:10 "equipment fault"
Finden von Tabellenzeilen, in denen Werte Bedingungen erfüllen
Um die Zeilen einer Tabelle zu finden, in denen Werte bestimmte Bedingungen erfüllen, verwenden Sie die logische Indizierung. Geben Sie die Tabellenvariablen an, deren Werte von Interesse sind, und erstellen Sie ein Array von Zeilenindizes, in denen die Werte dieser Variablen die von Ihnen festgelegten Bedingungen erfüllen. Indizieren Sie die Tabelle mithilfe der Zeilenindizes.
Importieren Sie zunächst die Daten zu Stromausfällen aus einer Tabellenkalkulation in eine Tabelle.
outages = readtable("outages.csv",TextType="string")
outages=1468×6 table
Region OutageTime Loss Customers RestorationTime Cause
___________ ________________ ______ __________ ________________ _________________
"SouthWest" 2002-02-01 12:18 458.98 1.8202e+06 2002-02-07 16:50 "winter storm"
"SouthEast" 2003-01-23 00:49 530.14 2.1204e+05 NaT "winter storm"
"SouthEast" 2003-02-07 21:15 289.4 1.4294e+05 2003-02-17 08:14 "winter storm"
"West" 2004-04-06 05:44 434.81 3.4037e+05 2004-04-06 06:10 "equipment fault"
"MidWest" 2002-03-16 06:18 186.44 2.1275e+05 2002-03-18 23:23 "severe storm"
"West" 2003-06-18 02:49 0 0 2003-06-18 10:54 "attack"
"West" 2004-06-20 14:39 231.29 NaN 2004-06-20 19:16 "equipment fault"
"West" 2002-06-06 19:28 311.86 NaN 2002-06-07 00:51 "equipment fault"
"NorthEast" 2003-07-16 16:23 239.93 49434 2003-07-17 01:12 "fire"
"MidWest" 2004-09-27 11:09 286.72 66104 2004-09-27 16:37 "equipment fault"
"SouthEast" 2004-09-05 17:48 73.387 36073 2004-09-05 20:46 "equipment fault"
"West" 2004-05-21 21:45 159.99 NaN 2004-05-22 04:23 "equipment fault"
"SouthEast" 2002-09-01 18:22 95.917 36759 2002-09-01 19:12 "severe storm"
"SouthEast" 2003-09-27 07:32 NaN 3.5517e+05 2003-10-04 07:02 "severe storm"
"West" 2003-11-12 06:12 254.09 9.2429e+05 2003-11-17 02:04 "winter storm"
"NorthEast" 2004-09-18 05:54 0 0 NaT "equipment fault"
⋮
Erstellen Sie anschließend Zeilenindizes, die den Zeilen entsprechen, in denen eine Variable eine Bedingung erfüllt. Erstellen Sie beispielsweise Indizes für Zeilen, in denen die Region West angegeben ist.
rows = matches(outages.Region,"West")rows = 1468×1 logical array
0
0
0
1
0
1
1
1
0
0
0
1
0
0
1
⋮
Sie können eine Tabelle mit logischen Indizes indizieren. Zeigen Sie die Zeilen der Tabelle für die Ausfälle an, die in der Region West auftreten.
outages(rows,:)
ans=354×6 table
Region OutageTime Loss Customers RestorationTime Cause
______ ________________ ______ __________ ________________ _________________
"West" 2004-04-06 05:44 434.81 3.4037e+05 2004-04-06 06:10 "equipment fault"
"West" 2003-06-18 02:49 0 0 2003-06-18 10:54 "attack"
"West" 2004-06-20 14:39 231.29 NaN 2004-06-20 19:16 "equipment fault"
"West" 2002-06-06 19:28 311.86 NaN 2002-06-07 00:51 "equipment fault"
"West" 2004-05-21 21:45 159.99 NaN 2004-05-22 04:23 "equipment fault"
"West" 2003-11-12 06:12 254.09 9.2429e+05 2003-11-17 02:04 "winter storm"
"West" 2004-12-21 18:50 112.05 7.985e+05 2004-12-29 03:46 "winter storm"
"West" 2002-12-16 13:43 70.752 4.8193e+05 2002-12-19 09:38 "winter storm"
"West" 2005-06-29 08:37 601.13 32005 2005-06-29 08:57 "equipment fault"
"West" 2003-04-14 07:11 276.41 1.5647 2003-04-14 08:52 "equipment fault"
"West" 2003-10-21 17:25 235.12 51496 2003-10-21 19:43 "equipment fault"
"West" 2005-10-21 08:33 NaN 52639 2005-11-22 22:10 "fire"
"West" 2003-08-28 23:46 172.01 1.6964e+05 2003-09-03 02:10 "wind"
"West" 2005-03-01 14:39 115.47 82611 2005-03-03 05:58 "equipment fault"
"West" 2005-09-26 06:32 258.18 1.3996e+05 2005-09-26 06:33 "earthquake"
"West" 2003-12-22 03:40 232.26 3.9462e+05 2003-12-24 16:32 "winter storm"
⋮
Sie können mehrere Bedingungen mit einem logischen Ausdruck verknüpfen. Ermitteln Sie beispielsweise die Zeilen, in denen die Ausfälle mehr als eine Million Kunden in den Regionen West oder MidWest betroffen haben.
rows = (outages.Customers > 1e6 & (matches(outages.Region,"West") | matches(outages.Region,"MidWest"))); outages(rows,:)
ans=10×6 table
Region OutageTime Loss Customers RestorationTime Cause
_________ ________________ ______ __________ ________________ _________________
"MidWest" 2002-12-10 10:45 14493 3.0879e+06 2002-12-11 18:06 "unknown"
"West" 2007-10-20 20:56 3537.5 1.3637e+06 2007-10-20 22:08 "equipment fault"
"West" 2006-12-28 14:04 804.05 1.5486e+06 2007-01-04 14:26 "severe storm"
"MidWest" 2006-07-16 00:05 1817.9 3.295e+06 2006-07-27 14:42 "severe storm"
"West" 2006-01-01 11:54 734.11 4.26e+06 2006-01-11 01:21 "winter storm"
"MidWest" 2008-09-19 23:31 4801.1 1.2151e+06 2008-10-03 14:04 "severe storm"
"MidWest" 2008-09-07 23:35 NaN 3.972e+06 2008-09-19 17:19 "severe storm"
"West" 2011-07-24 02:54 483.37 1.1212e+06 2011-07-24 12:18 "wind"
"West" 2010-01-24 18:47 348.91 1.8865e+06 2010-01-30 01:43 "severe storm"
"West" 2010-05-17 09:10 8496.6 2.0768e+06 2010-05-18 22:43 "equipment fault"
Zusammenfassung der Indizierungssyntaxen für Tabellen
Diese Tabelle listet alle Indizierungssyntaxen für Tabellen mit allen Indizierungstypen und den entsprechenden Ergebnissen auf. Sie können Zeilen und Variablen nach Position, Name oder Datentyp angeben.
Lineare Indizierung wird nicht unterstützt. Wenn Sie mit geschweiften Klammern oder runden Klammern indizieren, müssen Sie sowohl Zeilen als auch Variablen angeben.
Variablennamen und Zeilennamen können beliebige Zeichen enthalten, einschließlich Leerzeichen und Nicht-ASCII-Zeichen. Außerdem können sie mit jedem Zeichen beginnen, nicht nur mit Buchstaben. Variablen- und Zeilennamen müssen keine gültigen MATLAB-Bezeichner sein (gemäß der Funktion
isvarname).Wenn Sie Zeilen oder Variablen anhand ihres Namens angeben, können Sie ein
pattern-Objekt verwenden, um Namen anzugeben. Beispielsweise entspricht"Var" + digitsPatternallen Namen, die mitVarbeginnen und mit einer beliebigen Anzahl von Ziffern enden. (seit R2022a)
Ausgabe | Syntax | Zeilen | Variablen | Beispiele |
|---|---|---|---|---|
Array, mit Daten, die aus einer Variablen extrahiert wurden |
| Nicht angegeben | Angegeben als:
|
|
Array mit bestimmten Datenelementen, die aus einer Variablen extrahiert wurden |
| Nicht angegeben Die Indizes | Angegeben als:
| Geben Sie Array-Elemente mithilfe numerischer oder logischer Indizes an. Wenn es sich bei dem extrahierten Array um eine Matrix oder ein mehrdimensionales Array handelt, können Sie mehrere numerische Indizes angeben.
|
Array mit Daten, die aus bestimmten Zeilen und Variablen verkettet wurden |
| Angegeben als:
| Angegeben als:
|
|
Array mit Daten, die aus bestimmten Zeilen und Variablen mit einem bestimmten Datentyp verkettet wurden |
| Angegeben als:
| Als Datentyp-Index angegeben, beispielsweise |
|
Array mit Daten, die aus allen Zeilen und Variablen verkettet wurden |
| Nicht angegeben | Nicht angegeben |
|
Tabelle mit angegebenen Zeilen und Variablen |
| Angegeben als:
| Angegeben als:
|
|
Tabelle mit bestimmten Zeilen und Variablen, die einen bestimmten Datentyp aufweisen |
| Angegeben als:
| Als Datentyp-Index angegeben, beispielsweise |
|
Siehe auch
table | readtable | vartype | matches
Themen
- Tables of Mixed Data
- Tabellen erstellen und ihnen Daten zuweisen
- Rename and Describe Table Variables
- Calculations When Tables Have Both Numeric and Nonnumeric Data
- Data Cleaning and Calculations in Tables
- Grouped Calculations in Tables and Timetables
- Auffinden von Array-Elementen, die Bedingungen erfüllen