Interestingly, this is a search by color as index, not by position, as sometimes certain colors are missing, or the colors are in a different order than the sum group. As in indexed-pendant sums, we limit the search to contiguous groups, whose sum is > 5. The code is largely the same as Pendant Indexing, except for the fact that we are using Ascher color as the index instead of cord position in it’s parent group.
3. Significance Criteria:
Occurrences must exceed 1 (1 deemed to be possibly accidental), to be marked as significant. 24 khipu have 2 or more subsidiary sums, resulting in this pattern occuring 173 times in the KFG (Khipu Field Guide).
# Initialize plotlyimport plotlyimport plotly.express as pximport pandas as pdplotly.offline.init_notebook_mode(connected =False);# Read in the Fieldmark and its associated dataframe and match dictionaryfrom fieldmark_ascher_indexed_subsidiary_sum import FieldmarkIndexedSubsidiarySumaFieldmark = FieldmarkIndexedSubsidiarySum()fieldmark_dataframe = aFieldmark.dataframes[0].dataframeraw_match_dict = aFieldmark.raw_match_dict()
Code
# Plot Matching khipumatching_khipus = aFieldmark.matching_khipus() matching_values = [raw_match_dict[aKhipuName] for aKhipuName in matching_khipus]matching_df = pd.DataFrame(list(zip(matching_khipus, matching_values)), columns =['KhipuName', 'Value'])fig = px.bar(matching_df, x='KhipuName', y='Value', labels={"KhipuName": "Khipu Name", "Value": "Number of Indexed Subsidiary Sum Cords", }, title=f"Matching Khipu ({len(matching_khipus)}) for Number of Indexed Subsidiary Sum Cords", width=944, height=450).update_layout(showlegend=True).show()
Code
# Plot Significant khipusignificant_khipus = aFieldmark.significant_khipus()significant_values = [raw_match_dict[aKhipuName] for aKhipuName in significant_khipus]significant_df = pd.DataFrame(list(zip(significant_khipus, significant_values)), columns =['KhipuName', 'Value'])fig = px.bar(significant_df, x='KhipuName', y='Value', labels={"KhipuName": "Khipu Name", "Value": "Number of Indexed Subsidiary Sum Cords", }, title=f"Significant Khipu ({len(significant_khipus)}) for Number of Indexed Subsidiary Sum Cords", width=944, height=450).update_layout(showlegend=True).show()
6. Exploratory Data Analysis
6.1 Sums and Summands
AS069 once again shows just how much summing is going on inside of it! It and UR1175 both show significant pendant index summing and subsidiary index summing by color. KH0083 stands out for an astounding 19 summands.
Code
sum_cord_df = aFieldmark.dataframes[1].dataframefig = (px.scatter(sum_cord_df, x="cord_index", y="cord_value", log_y=True, size="num_summands", color="num_summands", labels={"cord_index": "Sum Cord Position Index", "cord_value": "Cord Value (Log(y) scale)"}, hover_data=['kfg_name','cord_index', 'summand_string'], title="<b>Color Indexed Subsidiary Sums</b> - <i>Hover Over Circles to View Khipu/Cord Info</i>", width=944, height=944) .update_layout(showlegend=True) .show() )
6.2 Handedness
Code
right_sum_cord_position_df = sum_cord_df[sum_cord_df.handedness >=0]left_sum_cord_position_df = sum_cord_df[sum_cord_df.handedness <0]num_left_sums =len(left_sum_cord_position_df) # sum(fieldmark_dataframe.num_right_sums.values.tolist())num_right_sums =len(right_sum_cord_position_df) # sum(fieldmark_dataframe.num_left_sums.values.tolist())num_total_sums = num_left_sums + num_right_sumsright_pct =round(100.0*float(num_left_sums)/float(num_total_sums))left_pct =round(100.0*float(num_right_sums)/float(num_total_sums))print(f"Out of {num_total_sums} indexed sums, there are {num_right_sums}({right_pct}%) right_handed sums and {num_left_sums}({left_pct}%) left-handed sums")
Out of 193 indexed sums, there are 114(41%) right_handed sums and 79(59%) left-handed sums
Code
from statistics import meandef handed_color(x): return"#F00"if x <0else"#00F"handness_color = [handed_color(x) for x in sum_cord_df.handedness.values]handedness_mean = mean(list(sum_cord_df.handedness.values))fig = (px.scatter(sum_cord_df, x="handedness", y="cord_value", log_y=True, size="num_summands", color=handness_color, labels={"handedness": f"Handedness - Mean({handedness_mean})", "cord_value": "Cord Value (Log(y) scale)", }, hover_data=['kfg_name'], title="<b>Handeness of Indexed Subsidiary Sums</b> - <i>Hover Over Circles to View Khipu/Cord Info</i>", width=944, height=944) .add_vline(x=-2) .update_layout(showlegend=False) .show() )
7. Conclusion
Along with pendant index subsidiaries, this is an interestingly different fieldmark. Like Pendant-Color-Sum indexing, this fieldmark uses color indexing instead of position indexing. Is the use of color-indexing a user-interface issue - it’s just harder to pick a cord and run your thumbs on it, if it’s a subsidiary? Is it’s use a result of an “options” grammar (only include the color if the condition occurs)?
These relations occur in only 8% of the khipu. Additionally only 173 such relations occur - compare that to the 8,091 pendant pendant sum relationships (just 2% of those). So is this just a statistical fluke? The presence of a subsidiary at all renders that argument unlikely. This is a known technique, not a statistical fluke - the bar chart for matching/significant khipu adds to that argument, but it seems a sign/signature of some sort, rather than a common technique. AS038 pendant 19 seems to be the poster child for this relationship.
Due to the scarcity of occurrence, as well as the fact that it’s a subsidiary relationship, I’m going to pass on further investigation of this fieldmark at this time.