# Initialize plotlyplotly.offline.init_notebook_mode(connected =False);# Read in the Fieldmark and its associated dataframe and match dictionaryfrom fieldmark_khipu_summary import Fieldmark_Num_CordsaFieldmark = Fieldmark_Num_Cords()fieldmark_dataframe = aFieldmark.dataframes[0].dataframeraw_match_dict = aFieldmark.raw_match_dict()matching_khipus = aFieldmark.matching_khipus() unsorted_matching_khipus = {key:value for (key,value) in aFieldmark.match_vector().items() if (value !=0.0)}sorted_matching_khipus = [name for (name,value) insorted(unsorted_matching_khipus.items(), key=lambda x:x[1], reverse=True)]
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 Cords", }, title=f"Matching Khipu for Number of Cords", width=944, height=500).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 Cords", }, title=f"Significant Khipu {len(significant_khipus)} for Number of Cords", width=944, height=500).update_layout(showlegend=True).show()
4. Exploratory Data Analysis
What is the makeup of cords, pendants, top cords, subsidiaries, etc overall?
Code
# Khipu Imports#(khipu_dict, all_khipus) = kamayuq.fetch_khipus()num_corded_khipus =sum([aKhipu.num_cc_cords() >0for aKhipu in all_khipus])corded_khipus = [aKhipu for aKhipu in all_khipus]num_cords =sum([aKhipu.num_cc_cords() for aKhipu in all_khipus])num_pendants =sum([aKhipu.num_pendant_cords() for aKhipu in all_khipus])num_top_cords =sum([aKhipu.num_top_cords() for aKhipu in all_khipus])num_down_pendants = num_pendants - num_top_cordsnum_subsidiaries =sum([aKhipu.num_subsidiary_cords() for aKhipu in all_khipus])print(f"Number of khipus with cords = {num_corded_khipus}")print(f"Number of all cords (including top cords and subsidiaries) = {num_cords}")print(f"Number of pendant cords (including top cords) = {num_pendants}")print(f"Number of pendant cords which are not top cords = {num_down_pendants}")print(f"Number of subsidiary cords (total) = {num_subsidiaries}")print(f"Number of top cords (total) = {num_top_cords}")
Number of khipus with cords = 650
Number of all cords (including top cords and subsidiaries) = 55720
Number of pendant cords (including top cords) = 41671
Number of pendant cords which are not top cords = 41295
Number of subsidiary cords (total) = 14046
Number of top cords (total) = 376