This 'quirk' of Maple behaviour cropped up when I was considering solutions for the question posted here
where the OP had "poorly structured" data which meant it was a bit "awkward" to access required fields. A number of more-or-less satisfactory solution were proposed, and the OP seems happy
One possible way to solve the original problem would be to restructure the data as a DataFrame. The "natural" way to do this would be to use numeric row indexes.. Note that these row indexes are not contiguous, and are in no particular order. However using this approach means that accessing fields from the dataframe is not consistent.
Sometimes the supplied row label is interpreted as a 'label', sometimes it is interpreted as the "row number". It appears that the latter interpretation is preferentially used
I can't make up my mind whether to call this a "bug" or not, but I can see the inconsistent interpretation resulting in chaos.
Before submitting an SCR I'd like to know if anyone else sees this as a bug
Consider the code
S := [`206` = Record(mu = 508.001018040, sigma = 125.002863204708),
`4` = Record(mu = 1008.001018040, sigma = 167.707232430134),
`2` = Record(mu = 1208.001018040, sigma = 141.512246146314),
`5` = Record(mu = 808.001018040, sigma = 117.156800098735)
# Construct the above as a dataframe - note row labels are numbers!
DF:= DataFrame( Matrix([seq( [rhs(j):-mu, rhs(j):-sigma], j in S)]),
rows= [seq( parse( lhs(j) ), j in S)],
DF[2, mu]; ## Errr No!
[ mu sigma ]
[206 508.001018040 125.002863204708]
DF := [ 4 1008.001018040 167.707232430134]
[ 2 1208.001018040 141.512246146314]
[ 5 808.001018040 117.156800098735]
Note that DF[2, mu] outputs the entry from the second row - not the one from the row labelled with the number 2
I imagina a similar issue would occur with numeric column indexes, although I haven't tried this