Array Manipulation
Revision as of 10:20, 1 March 2017 by Joseph (talk | contribs) (→Introduction to Array Manipulation)
Introduction to Array Manipulation
Arrays/Sets/Matrices are fundamental data structures in z^3. Manipulation of such data structures are often done using custom code in most languages. However, z^3 offers a ton of Array member functions that make it a breeze to handle and manipulate such data structures.
For example, take .chunks().
a=1..100;
This creates a list of 100 numbers. Now, let us make them into chunks of 10 each.
a.chunks(10)
gives
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 |
41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 |
51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 |
61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 |
71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 |
81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 |
91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 |
Simple, isn't it?
The result gives a 10x10 matrix filled with the sequence of numbers from 1 to 100.
Let us say we want to calculate the sum of each row in this 10x10 matrix. The $$ row wise mapping function comes to the rescue.
b=a.chunks(10) b.$$(SUM)
55 |
155 |
255 |
355 |
455 |
555 |
655 |
755 |
855 |
955 |
ARRAY FUNCTIONS
A listing of the Array functions are given below:
Function name Parameter
Function Name | Parameters |
---|---|
$ | |
$$ | |
$$$ | |
$$F | |
$A | Parameter |
$C | |
$CELLS | |
$d | |
$diag | |
$dth | |
$R | |
$X | |
$x | |
$_ | |
__$ | |
ac | |
accumulate | Total |
accumulatewith | "CumulateFunction,CurrentResult" |
across | "OtherArray, Function" |
add | Thing |
addcolumn | NumberOfColumns |
addrow | NumberOfRows |
addsequence | "InFront,StartFrom,OptionalSequenceArray" |
adjoint | Array |
aggregate | "Columns,Function, Params" |
any | Count |
appendfunction | Function |
ar | |
async | "Iterator, CallBack" |
atindex | |
atnode | "Function,SubtractByArray,ScaleByArray,DoNotShowIndices" |
backward | "Function, StartValue" |
bindcolumn | |
branch | |
branchvalues | |
c | |
calci | |
car | |
cartesianproduct | IsWithoutFlatten |
cdr | |
cell | "Row, Column, Width, Height" |
cells | |
checktype | "TypeArray,ForceCheckOnVariables" |
chunks | ChunkSize |
ci | |
clean | "Expression, ReplaceWith" |
clear | FillWith |
clearcopy | FillWith |
clearrepeats | |
clone | |
colconcat | |
colcount | |
collect | |
collectasvector | |
collectwhile | |
collectwhileasvector | |
column | |
columnconcat | |
columns | |
compare | |
concatall | "LimitArray, IncludeEdges" |
converge | "Function, NumberOfIterations, Accuracy, Converge" |
copy | |
core | |
count | FirstLevelOnly |
crosstab | "RowSet, ColSet,PageSet,DataSet" |
cube | |
cumcolumn | |
cumcolumns | |
cumcolumnswith | |
cumcolumnwith | |
cumrow | |
cumrows | |
cumrowswith | |
cumrowwith | |
cumulate | |
data | |
dc | |
deal | "Within, ManyInEach" |
deepcopy | |
deletecolumn | Where |
deleterow | Where |
det | Array |
determinant | |
dim | |
div | |
divide | |
dr | |
drop | |
dropwhile | |
dropwhileasvector | |
eighteenth | |
eighth | |
eleventh | |
equal | "Array, CheckLength, StartFrom" |
equalvalues | "Array, CheckLength, StartFrom" |
eval | |
except | |
exec | |
explode | "StartIndex, By, RecurseTillLevel " |
extract | |
few | |
fifteenth | Function |
fifth | |
fillwith | |
filtermatches | "MatchIdenticalMatrix, OnlyMatches" |
filteroncolumn | "Condition, ExtractColumns, FilterOnColumn" |
filteroncondition | "TakeDropOrAllFlag, Function, Parameter" |
filteronrow | "Condition, ExtractColumns, FilterOnColumn" |
findcellref | Values |
first | Count |
firstelement | Count |
firsthalf | |
fixat | "Index,Fix" |
fjoin | "HeadLength, JoinString" |
flatten | |
flip | |
flipparts | |
fold | "AtFoldValue, AtReverseFoldValue" |
foldl | "Function, StartSeed" |
foldr | "Function, StartSeed" |
forward | "Function, StartValue" |
fourteenth | |
fourth | |
fourths | |
funcjoin | "HeadLength, FindString, FirstString, MidString, LastString" |
gettype | |
graph | Mode |
graphin | |
half | |
halves | |
hderef | Array |
head | |
headings | |
hindex | |
hundredth | |
i | PreviousArray |
ic | |
ids | |
implode | RecurseTillLevel |
inc | |
include | |
indices | "Function,SubtractByArray,ScaleByArray,DoNotShowIndices,RowArray" |
injoin | JoinWith |
insert | "Value, AfterLastFlag" |
insertcolumn | "Index, NumberOfColumns" |
insertrow | "Index, NumberOfRows" |
inverse | Array |
ir | |
is | "Thing, IsNot" |
is1d | |
is2d | |
isFalse | |
islikelytype | |
isnotnull | |
isnull | |
isTrue | |
istype | |
j | |
joincolumnswith | "ArrayOfJoinCharacters,IsRepeat" |
joinrowswith | "ArrayOfJoinCharacters,IsRepeat" |
joinwith | |
jq | |
keep | |
last | Count |
lastelement | Count |
list | |
lookup | |
make | |
make1to2d | ReplaceOriginal |
makecore | |
makekeyarray | Recursive |
maplist | fun |
mapper | Function |
maprow | Function |
mask | |
match | Expression |
matchcolumn | "Expression, Column" |
matchindex | "Expression, IndexThenFromMatch" |
matchrow | "Expression, Row" |
matchvalue | "Expression, IndexThenFromMatch" |
merge | "OtherArray, Function" |
mergecolumns | OtherArray |
mergeio | |
mergerows | |
mid | "From,Count" |
millionth | |
multiply | |
nicejoin | "JoinString, EndString, SubArrayString" |
nineteenth | |
nineth | |
nodeindex | |
notinclude | Item |
notwithinlimits | "LimitArray, IncludeEdges" |
nth | "Nth, Count" |
ntimes | "Function, NumberOfIterations, Accuracy, Converge" |
nullifyobjects | Recursive |
numbers | ForceCheckOnVariables |
o | |
objects | |
of | |
otherthan | ArrayWithElementsToExclude |
pack | |
pad | "Length, PadString" |
pair | "Value, OnRight" |
pairmatch | "AtFoldValue, AtReverseFoldValue, StartFrom" |
partitiononcondition | "TakeDropOrAllFlag, Function, Parameter" |
parts | "NumberOfParts, SpecificPart" |
pastefolds | MidOnly |
pick | "StyleString, JoinString" |
pieces | " Width, Function" |
pip | |
pipall | |
pipallwithslice | |
plot | |
prefix | |
primitives | |
printf | |
r | |
rand | |
random | "Base,Numbers" |
remove | |
removeByVal | Value |
removeindices | |
removewith | |
repeatntimes | "Function, NumberOfIterations, Accuracy, Converge" |
replace | "ExpressionArrayOrValues, ReplaceWith" |
replicate | Count |
rest | "Start, Count" |
result | |
reverselevel | Level |
reversepip | |
reversesort | Function |
ri | |
rotate | NumberOfSteps |
rotatecolumns | NumberOfSteps |
rotaterows | NumberOfSteps |
row | |
rowconcat | OtherArray |
rowcount | |
rowlengths | Function |
rowpush | OtherArray |
rows | |
rslice | |
second | |
secondhalf | |
seq | "StartIndex, By" |
set | |
setaxis | "Axis, ColumnValues" |
setcolumn | "Column, ColumnValues" |
setHeadings | |
setrow | "Row, Array" |
setunit | |
seventeenth | |
seventh | |
shiftlevel | "Level, NumberOfTimes" |
shuffle | |
sixteenth | |
sixth | |
size | |
size2d | |
slices | SliceExpression |
slides | |
sortrecursively | |
sortwith | |
specialprint | "Trimmed,TabLevel" |
spliteach | "SplitExpression, RetainSplitterAlsoInResult" |
splitwhile | |
splitwhileasvector | |
stringlist | |
subtract | |
suchthat | |
suchthatasvector | |
suffix | |
t | |
table | |
tablelookup | "RowValueMatch, ColumnValueMatch" |
tail | |
takewhile | |
takewhileasvector | |
tenth | |
third | |
thirds | |
thirteenth | |
thousandth | |
tofunctions | |
toobjectformat | |
totree | |
transpose | IncludeHeader |
truefalse | "IsCheckTrueFunctionList,IsCheckFalseFunctionList,DoFlattenFirst" |
twelfth | |
twentieth | |
twod | |
type | |
uncrosstab | UptoColumn |
unimplode | RecurseTillLevel |
unimplodeleaf | |
unitsof | |
unwrapleaf | |
unzip | |
value | Function |
where | Term |
withinlimits | "LimitArray, IncludeEdges" |
withouttail | |
X$ | |
x$ | "FunctionArray, OffsetArray, ScaleArray, GiveIndicesAlso,DoCentering" |
xy | |
xypanel | "FunctionArray, OffsetArray, ScaleArray, GiveIndicesAlso" |
z3 | |
zero | "ValueInstead, PreserveStructure" |
zip | OtherArray |
ZJSON | |
zoompip | |
㪭㭲 |