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 | |
| 㪭㭲 |