<jupyter_start><jupyter_text>Ch. 5 *Pottery* * [Verzierungselemente nach Befunden](Verzierungselemente-nach-Befunden:)    * Burials        * [CAM 07/1](CAM-07/1)        * [CAM 07/2](CAM-07/2)        * [CAM 07/3](CAM-07/3)        * [CAM 07/4](CAM-07/4)        * [CAM 07/5](CAM-07/5)        * [CAM 07/6](CAM-07/6)        * [CAM 07/7](CAM-07/7)        * [CAM 07/9](CAM-07/9)        * [CAM 07/10](CAM-07/10)        * [CAM 07/12](CAM-07/12)    * Pits        * [CAM 07/11](CAM-07/11)        * [CAM 07/13](CAM-07/13)<jupyter_code>%matplotlib inline
from IPython.display import display
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt<jupyter_output><empty_output><jupyter_text>Decoration<jupyter_code>df = pd.read_csv('../data/base/t_Obj_VerzPos.csv', encoding = 'windows-1252')
# display(df.head())
df_pivot = df.pivot_table(values = 'ObjID', index = 'Pos', columns = 'Verz', aggfunc = len, fill_value = 0)
# df_pivot
fig = plt.figure()
fig.set_size_inches(10, 7.5)
plt.imshow(df_pivot, interpolation='nearest', cmap='Greys', alpha = .5)
plt.ylabel('Gefäßposition')
plt.xlabel('Verzierungselemente')
plt.yticks(range(len(df_pivot.index)), df_pivot.index)
plt.xticks(range(len(df_pivot.columns)), df_pivot.columns, rotation='vertical')
# plt.colorbar(orientation='horizontal')
for (i, j), z in np.ndenumerate(df_pivot):
    plt.text(j, i, '{:0.0f}'.format(z), ha='center', va='center')
plt.tight_layout()
plt.savefig('../output/ch5_VerzPos-Matrix.pdf', bbox_inches='tight')
plt.show()<jupyter_output><empty_output><jupyter_text>unterteilt nach Gef.-Formen (Schalen *vs.* Nicht-Schalen)<jupyter_code>df_sup = pd.read_csv('../data/processed/ch5_VerzPos-Matrix_Suppl.csv', encoding = 'windows-1252')
# display(df_sup.head())
df_merge = pd.merge(df, df_sup, on='ObjID', how='inner')
# display(df_merge.head())
df_merge.pivot_table(values = 'ObjID', index = 'feature', columns = 'form_vessel', aggfunc = len)
df_merge.pivot_table(values = 'ObjID', index = 'feature', columns = 'Verz', aggfunc = len)
checkList = ['07/11', '07/13', '07/95', '07/1', '07/2', '07/109']
df_pits = df_merge[(df_merge.feature.isin(checkList))]
df_graves = df_merge[(~df_merge.feature.isin(checkList))]
df_pivot = df_graves.pivot_table(values = 'ObjID', index = 'Pos', columns = 'Verz', aggfunc = len, fill_value = 0)
#fig = plt.figure()
#fig.set_size_inches(10, 7.5)
plt.imshow(df_pivot, interpolation='nearest', cmap='Greys', alpha = .5)
plt.ylabel('vessel position')
plt.xlabel('decorational elemet')
plt.yticks(range(len(df_pivot.index)), df_pivot.index)
plt.xticks(range(len(df_pivot.columns)), df_pivot.columns, rotation='vertical')
# plt.colorbar(orientation='horizontal')
for (i, j), z in np.ndenumerate(df_pivot):
    plt.text(j, i, '{:0.0f}'.format(z), ha='center', va='center')
plt.tight_layout()
plt.savefig('../output/ch5_VerzPos-Matrix_A_CampoChurch_Burials.pdf', bbox_inches='tight')
plt.show()<jupyter_output><empty_output><jupyter_text>> **Fig. ** Burials: Decorations.<jupyter_code>df_pivot = df_pits.pivot_table(values = 'ObjID', index = 'Pos', columns = 'Verz', aggfunc = len, fill_value = 0)
#fig = plt.figure()
#fig.set_size_inches(10, 7.5)
plt.imshow(df_pivot, interpolation='nearest', cmap='Greys', alpha = .5)
plt.ylabel('vessel position')
plt.xlabel('decorational elemet')
plt.yticks(range(len(df_pivot.index)), df_pivot.index)
plt.xticks(range(len(df_pivot.columns)), df_pivot.columns, rotation='vertical')
# plt.colorbar(orientation='horizontal')
for (i, j), z in np.ndenumerate(df_pivot):
    plt.text(j, i, '{:0.0f}'.format(z), ha='center', va='center')
plt.tight_layout()
plt.savefig('../output/ch5_VerzPos-Matrix_B_Campo_Pits+Center.pdf', bbox_inches='tight')
plt.show()<jupyter_output><empty_output><jupyter_text>> **Fig. ** Pits and Campo Center: Decorations.  ---  Korrespondenzanalyseda bei tapply() in R nicht das richtige Ergebnis heraus kommt - es entstehen 0-Zeilen, obwohl die Ausgangstabellen bereingt sind - wird die Kreuztabelle in Pandas erzeugt<jupyter_code>df = pd.read_csv('../data/processed/ch5_VerzPos-Matrix_df_merge.csv', encoding = 'windows-1252')
df_pivot = df.pivot_table(values = 'ObjID', index = 'Verz', columns = 'form_vessel', aggfunc = len, fill_value = 0)
df_pivot.to_csv('../data/processed/ch5_VerzPos-Matrix_pivot.csv')<jupyter_output><empty_output><jupyter_text>---  Vergleiche zwischen FdSt<jupyter_code>df = pd.read_csv('../data/processed/ch5_Verz_Sites.csv', encoding = 'windows-1252')
df_pivot = df.pivot_table(values = 'ObjID', index = ['site', 'Verz'], aggfunc = len)
df_pivot = pd.DataFrame(df_pivot)
df_pivot = df_pivot.reset_index()
df_pivot.to_csv('../data/processed/ch5_Verz_Sites_pivot.csv')
df.pivot_table(values = 'ObjID', index = 'site', aggfunc = len)
# Zerteilen nach Sites um jeweils % zu berechnen 
df_a = df[df['site'] == '02_Burials_Center']
df_b = df[df['site'] == '03_Burials_Church']
df_c = df[df['site'] == '04_Pit13_Church']
df_d = df[df['site'] == '05_Survey']
df_e = df[df['site'] == '01_Pit11_Church']

# A
df_a_pivot = df_a.pivot_table(values = 'ObjID', index = ['site', 'Verz'], aggfunc = len)
df_a_pivot = pd.DataFrame(df_a_pivot)
df_a_pivot = df_a_pivot.reset_index()
df_a_pivot['Prozent'] = df_a_pivot['ObjID']/df_a_pivot['ObjID'].sum()

# A
df_b_pivot = df_b.pivot_table(values = 'ObjID', index = ['site', 'Verz'], aggfunc = len)
df_b_pivot = pd.DataFrame(df_b_pivot)
df_b_pivot = df_b_pivot.reset_index()
df_b_pivot['Prozent'] = df_b_pivot['ObjID']/df_b_pivot['ObjID'].sum()

# A
df_c_pivot = df_c.pivot_table(values = 'ObjID', index = ['site', 'Verz'], aggfunc = len)
df_c_pivot = pd.DataFrame(df_c_pivot)
df_c_pivot = df_c_pivot.reset_index()
df_c_pivot['Prozent'] = df_c_pivot['ObjID']/df_c_pivot['ObjID'].sum()

# A
df_d_pivot = df_d.pivot_table(values = 'ObjID', index = ['site', 'Verz'], aggfunc = len)
df_d_pivot = pd.DataFrame(df_d_pivot)
df_d_pivot = df_d_pivot.reset_index()
df_d_pivot['Prozent'] = df_d_pivot['ObjID']/df_d_pivot['ObjID'].sum()

# A
df_e_pivot = df_e.pivot_table(values = 'ObjID', index = ['site', 'Verz'], aggfunc = len)
df_e_pivot = pd.DataFrame(df_e_pivot)
df_e_pivot = df_e_pivot.reset_index()
df_e_pivot['Prozent'] = df_e_pivot['ObjID']/df_e_pivot['ObjID'].sum()

df_append = df_a_pivot.append(df_b_pivot).append(df_c_pivot).append(df_d_pivot).append(df_e_pivot)

# hier Zeichenersetzung 1a > 01a etc.

df_append = df_append.replace({'Verz' : { '1 a' : '01 a',
                                         '1 b' : '01 b',
                                         '1 c' : '01 c',
                                         '1 d' : '01 d',
                                         '1 e' : '01 e',
                                         '2' : '02',
                                         '3' : '03',
                                         '4' : '04',
                                         '5 a' : '05 a',
                                         '5 b' : '05 b',
                                         '6' : '06',
                                         '7 a' : '07 a',
                                         '7 b' : '07 b',
                                         '8 a' : '08 a',
                                         '8 b' : '08 b',
                                         '9' : '09'}})

df_append.to_csv('../data/processed/ch5_Verz_Sites_pivot_Prozent.csv')<jupyter_output><empty_output><jupyter_text>---  Verzierungselemente nach Befunden:<jupyter_code>df = pd.read_csv('../data/base/t_Obj_VerzPos.csv', encoding = 'windows-1252')
df_sup = pd.read_csv('../data/processed/ch5_VerzPos-Matrix_Suppl.csv', encoding = 'windows-1252')
df_merge = pd.merge(df, df_sup, on='ObjID', how='inner')
df_merge.pivot_table(values = 'ObjID', index = ['feature', 'Indiv'], aggfunc = len, fill_value = 0).to_csv('../data/processed/ch5_VerzPos-Matrix_KONTROLLLISTE.csv')<jupyter_output><empty_output><jupyter_text>**ToDo**:* [ ] Nicht für alle gezeichneten Gefäße wurden Verzierungen aufgenommen; dies muss über die Kontrollliste abgeglichen und nachgeholt werden (DS; 28.05.2015)  CAM 07/1<jupyter_code>df_merge = pd.merge(df, df_sup, on='ObjID', how='inner')
df_merge = df_merge[df_merge['feature'] == '07/1']
df_pivot = df_merge.pivot_table(values = 'ObjID', index = 'Pos', columns = 'Verz', aggfunc = len, fill_value = 0)
plt.imshow(df_pivot, interpolation='nearest', cmap='Greys', alpha = .5)
plt.ylabel('vessel position')
plt.xlabel('decorational elemet')
plt.yticks(range(len(df_pivot.index)), df_pivot.index)
plt.xticks(range(len(df_pivot.columns)), df_pivot.columns)
for (i, j), z in np.ndenumerate(df_pivot):
    plt.text(j, i, '{:0.0f}'.format(z), ha='center', va='center')
plt.tight_layout()
#plt.savefig('output/ch5_VerzPos-Matrix_B_Campo_Pits+Center.pdf', bbox_inches='tight')
plt.show()
df_pivot = df_merge.pivot_table(values = 'ObjID', index = 'Verz', aggfunc = len, fill_value = 0)
df_pivot = pd.DataFrame(df_pivot)
df_pivot = df_pivot.sort_index(by=['ObjID'], ascending=[False])
df_pivot['Prozent'] = df_pivot['ObjID']/df_pivot['ObjID'].sum()*100
display(df_pivot.head())<jupyter_output><empty_output><jupyter_text>CAM 07/2<jupyter_code>df_merge = pd.merge(df, df_sup, on='ObjID', how='inner')
df_merge = df_merge[df_merge['feature'] == '07/2']
df_pivot = df_merge.pivot_table(values = 'ObjID', index = 'Pos', columns = 'Verz', aggfunc = len, fill_value = 0)
plt.imshow(df_pivot, interpolation='nearest', cmap='Greys', alpha = .5)
plt.ylabel('vessel position')
plt.xlabel('decorational elemet')
plt.yticks(range(len(df_pivot.index)), df_pivot.index)
plt.xticks(range(len(df_pivot.columns)), df_pivot.columns)
for (i, j), z in np.ndenumerate(df_pivot):
    plt.text(j, i, '{:0.0f}'.format(z), ha='center', va='center')
plt.tight_layout()
#plt.savefig('output/ch5_VerzPos-Matrix_B_Campo_Pits+Center.pdf', bbox_inches='tight')
plt.show()
df_pivot = df_merge.pivot_table(values = 'ObjID', index = 'Verz', aggfunc = len, fill_value = 0)
df_pivot = pd.DataFrame(df_pivot)
df_pivot = df_pivot.sort_index(by=['ObjID'], ascending=[False])
df_pivot['Prozent'] = df_pivot['ObjID']/df_pivot['ObjID'].sum()*100
display(df_pivot.head())<jupyter_output><empty_output><jupyter_text>CAM 07/3<jupyter_code>df_merge = pd.merge(df, df_sup, on='ObjID', how='inner')
df_merge = df_merge[df_merge['feature'] == '07/3']
df_pivot = df_merge.pivot_table(values = 'ObjID', index = 'Pos', columns = 'Verz', aggfunc = len, fill_value = 0)
plt.imshow(df_pivot, interpolation='nearest', cmap='Greys', alpha = .5)
plt.ylabel('vessel position')
plt.xlabel('decorational elemet')
plt.yticks(range(len(df_pivot.index)), df_pivot.index)
plt.xticks(range(len(df_pivot.columns)), df_pivot.columns)
for (i, j), z in np.ndenumerate(df_pivot):
    plt.text(j, i, '{:0.0f}'.format(z), ha='center', va='center')
plt.tight_layout()
#plt.savefig('output/ch5_VerzPos-Matrix_B_Campo_Pits+Center.pdf', bbox_inches='tight')
plt.show()
df_pivot = df_merge.pivot_table(values = 'ObjID', index = 'Verz', aggfunc = len, fill_value = 0)
df_pivot = pd.DataFrame(df_pivot)
df_pivot = df_pivot.sort_index(by=['ObjID'], ascending=[False])
df_pivot['Prozent'] = df_pivot['ObjID']/df_pivot['ObjID'].sum()*100
display(df_pivot.head())<jupyter_output><empty_output><jupyter_text>CAM 07/4<jupyter_code>df_merge = pd.merge(df, df_sup, on='ObjID', how='inner')
df_merge = df_merge[df_merge['feature'] == '07/4']
df_pivot = df_merge.pivot_table(values = 'ObjID', index = 'Pos', columns = 'Verz', aggfunc = len, fill_value = 0)
plt.imshow(df_pivot, interpolation='nearest', cmap='Greys', alpha = .5)
plt.ylabel('vessel position')
plt.xlabel('decorational elemet')
plt.yticks(range(len(df_pivot.index)), df_pivot.index)
plt.xticks(range(len(df_pivot.columns)), df_pivot.columns)
for (i, j), z in np.ndenumerate(df_pivot):
    plt.text(j, i, '{:0.0f}'.format(z), ha='center', va='center')
plt.tight_layout()
#plt.savefig('output/ch5_VerzPos-Matrix_B_Campo_Pits+Center.pdf', bbox_inches='tight')
plt.show()<jupyter_output><empty_output><jupyter_text>CAM 07/5<jupyter_code>df_merge = pd.merge(df, df_sup, on='ObjID', how='inner')
df_merge = df_merge[df_merge['feature'] == '07/5']
df_pivot = df_merge.pivot_table(values = 'ObjID', index = 'Pos', columns = 'Verz', aggfunc = len, fill_value = 0)
plt.imshow(df_pivot, interpolation='nearest', cmap='Greys', alpha = .5)
plt.ylabel('vessel position')
plt.xlabel('decorational elemet')
plt.yticks(range(len(df_pivot.index)), df_pivot.index)
plt.xticks(range(len(df_pivot.columns)), df_pivot.columns)
for (i, j), z in np.ndenumerate(df_pivot):
    plt.text(j, i, '{:0.0f}'.format(z), ha='center', va='center')
plt.tight_layout()
#plt.savefig('output/ch5_VerzPos-Matrix_B_Campo_Pits+Center.pdf', bbox_inches='tight')
plt.show()<jupyter_output><empty_output><jupyter_text>CAM 07/6<jupyter_code>df_merge = pd.merge(df, df_sup, on='ObjID', how='inner')
df_merge = df_merge[df_merge['feature'] == '07/6']
df_pivot = df_merge.pivot_table(values = 'ObjID', index = 'Pos', columns = 'Verz', aggfunc = len, fill_value = 0)
plt.imshow(df_pivot, interpolation='nearest', cmap='Greys', alpha = .5)
plt.ylabel('vessel position')
plt.xlabel('decorational elemet')
plt.yticks(range(len(df_pivot.index)), df_pivot.index)
plt.xticks(range(len(df_pivot.columns)), df_pivot.columns)
for (i, j), z in np.ndenumerate(df_pivot):
    plt.text(j, i, '{:0.0f}'.format(z), ha='center', va='center')
plt.tight_layout()
#plt.savefig('output/ch5_VerzPos-Matrix_B_Campo_Pits+Center.pdf', bbox_inches='tight')
plt.show()<jupyter_output><empty_output><jupyter_text>CAM 07/7<jupyter_code>df_merge = pd.merge(df, df_sup, on='ObjID', how='inner')
df_merge = df_merge[df_merge['feature'] == '07/7']
df_pivot = df_merge.pivot_table(values = 'ObjID', index = 'Pos', columns = 'Verz', aggfunc = len, fill_value = 0)
plt.imshow(df_pivot, interpolation='nearest', cmap='Greys', alpha = .5)
plt.ylabel('vessel position')
plt.xlabel('decorational elemet')
plt.yticks(range(len(df_pivot.index)), df_pivot.index)
plt.xticks(range(len(df_pivot.columns)), df_pivot.columns)
for (i, j), z in np.ndenumerate(df_pivot):
    plt.text(j, i, '{:0.0f}'.format(z), ha='center', va='center')
plt.tight_layout()
#plt.savefig('output/ch5_VerzPos-Matrix_B_Campo_Pits+Center.pdf', bbox_inches='tight')
plt.show()
df_pivot = df_merge.pivot_table(values = 'ObjID', index = 'Verz', aggfunc = len, fill_value = 0)
df_pivot = pd.DataFrame(df_pivot)
df_pivot = df_pivot.sort_index(by=['ObjID'], ascending=[False])
df_pivot['Prozent'] = df_pivot['ObjID']/df_pivot['ObjID'].sum()*100
display(df_pivot.head())<jupyter_output><empty_output><jupyter_text>CAM 07/9<jupyter_code>df_merge = pd.merge(df, df_sup, on='ObjID', how='inner')
df_merge = df_merge[df_merge['feature'] == '07/9']
df_pivot = df_merge.pivot_table(values = 'ObjID', index = 'Pos', columns = 'Verz', aggfunc = len, fill_value = 0)
plt.imshow(df_pivot, interpolation='nearest', cmap='Greys', alpha = .5)
plt.ylabel('vessel position')
plt.xlabel('decorational elemet')
plt.yticks(range(len(df_pivot.index)), df_pivot.index)
plt.xticks(range(len(df_pivot.columns)), df_pivot.columns)
for (i, j), z in np.ndenumerate(df_pivot):
    plt.text(j, i, '{:0.0f}'.format(z), ha='center', va='center')
plt.tight_layout()
#plt.savefig('output/ch5_VerzPos-Matrix_B_Campo_Pits+Center.pdf', bbox_inches='tight')
plt.show()<jupyter_output><empty_output><jupyter_text>CAM 07/10<jupyter_code>df_merge = pd.merge(df, df_sup, on='ObjID', how='inner')
df_merge = df_merge[df_merge['feature'] == '07/10']
df_pivot = df_merge.pivot_table(values = 'ObjID', index = 'Pos', columns = 'Verz', aggfunc = len, fill_value = 0)
plt.imshow(df_pivot, interpolation='nearest', cmap='Greys', alpha = .5)
plt.ylabel('vessel position')
plt.xlabel('decorational elemet')
plt.yticks(range(len(df_pivot.index)), df_pivot.index)
plt.xticks(range(len(df_pivot.columns)), df_pivot.columns)
for (i, j), z in np.ndenumerate(df_pivot):
    plt.text(j, i, '{:0.0f}'.format(z), ha='center', va='center')
plt.tight_layout()
#plt.savefig('output/ch5_VerzPos-Matrix_B_Campo_Pits+Center.pdf', bbox_inches='tight')
plt.show()
df_pivot = df_merge.pivot_table(values = 'ObjID', index = 'Verz', aggfunc = len, fill_value = 0)
df_pivot = pd.DataFrame(df_pivot)
df_pivot = df_pivot.sort_index(by=['ObjID'], ascending=[False])
df_pivot['Prozent'] = df_pivot['ObjID']/df_pivot['ObjID'].sum()*100
display(df_pivot.head())<jupyter_output><empty_output><jupyter_text>CAM 07/12<jupyter_code>df_merge = pd.merge(df, df_sup, on='ObjID', how='inner')
df_merge = df_merge[df_merge['feature'] == '07/12']
df_pivot = df_merge.pivot_table(values = 'ObjID', index = 'Pos', columns = 'Verz', aggfunc = len, fill_value = 0)
plt.imshow(df_pivot, interpolation='nearest', cmap='Greys', alpha = .5)
plt.ylabel('vessel position')
plt.xlabel('decorational elemet')
plt.yticks(range(len(df_pivot.index)), df_pivot.index)
plt.xticks(range(len(df_pivot.columns)), df_pivot.columns)
for (i, j), z in np.ndenumerate(df_pivot):
    plt.text(j, i, '{:0.0f}'.format(z), ha='center', va='center')
plt.tight_layout()
#plt.savefig('output/ch5_VerzPos-Matrix_B_Campo_Pits+Center.pdf', bbox_inches='tight')
plt.show()
df_pivot = df_merge.pivot_table(values = 'ObjID', index = 'Verz', aggfunc = len, fill_value = 0)
df_pivot = pd.DataFrame(df_pivot)
df_pivot = df_pivot.sort_index(by=['ObjID'], ascending=[False])
df_pivot['Prozent'] = df_pivot['ObjID']/df_pivot['ObjID'].sum()*100
display(df_pivot.head())<jupyter_output><empty_output><jupyter_text>CAM 07/11<jupyter_code>df_merge = pd.merge(df, df_sup, on='ObjID', how='inner')
df_merge = df_merge[df_merge['feature'] == '07/11']
df_pivot = df_merge.pivot_table(values = 'ObjID', index = 'Pos', columns = 'Verz', aggfunc = len, fill_value = 0)
plt.imshow(df_pivot, interpolation='nearest', cmap='Greys', alpha = .5)
plt.ylabel('vessel position')
plt.xlabel('decorational elemet')
plt.yticks(range(len(df_pivot.index)), df_pivot.index)
plt.xticks(range(len(df_pivot.columns)), df_pivot.columns)
for (i, j), z in np.ndenumerate(df_pivot):
    plt.text(j, i, '{:0.0f}'.format(z), ha='center', va='center')
plt.tight_layout()
#plt.savefig('output/ch5_VerzPos-Matrix_B_Campo_Pits+Center.pdf', bbox_inches='tight')
plt.show()
df_pivot = df_merge.pivot_table(values = 'ObjID', index = 'Verz', aggfunc = len, fill_value = 0)
df_pivot = pd.DataFrame(df_pivot)
df_pivot = df_pivot.sort_index(by=['ObjID'], ascending=[False])
df_pivot['Prozent'] = df_pivot['ObjID']/df_pivot['ObjID'].sum()*100
display(df_pivot.head())<jupyter_output><empty_output><jupyter_text>CAM 07/13<jupyter_code>df_merge = pd.merge(df, df_sup, on='ObjID', how='inner')
df_merge = df_merge[df_merge['feature'] == '07/13']
df_pivot = df_merge.pivot_table(values = 'ObjID', index = 'Pos', columns = 'Verz', aggfunc = len, fill_value = 0)
plt.imshow(df_pivot, interpolation='nearest', cmap='Greys', alpha = .5)
plt.ylabel('vessel position')
plt.xlabel('decorational elemet')
plt.yticks(range(len(df_pivot.index)), df_pivot.index)
plt.xticks(range(len(df_pivot.columns)), df_pivot.columns)
for (i, j), z in np.ndenumerate(df_pivot):
    plt.text(j, i, '{:0.0f}'.format(z), ha='center', va='center')
plt.tight_layout()
#plt.savefig('output/ch5_VerzPos-Matrix_B_Campo_Pits+Center.pdf', bbox_inches='tight')
plt.show()
df_pivot = df_merge.pivot_table(values = 'ObjID', index = 'Verz', aggfunc = len, fill_value = 0)
df_pivot = pd.DataFrame(df_pivot)
df_pivot = df_pivot.sort_index(by=['ObjID'], ascending=[False])
df_pivot['Prozent'] = df_pivot['ObjID']/df_pivot['ObjID'].sum()*100
display(df_pivot.head())<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.18424435645600865, 'fraction_numerical': 0.021134365197716873, 'mean_word_length': 5.57027027027027, 'pattern_counts': {'":': 0, '<': 77, '<?xml version=': 0, '>': 80, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 30, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '19', 'dir': 'jupyter-structured-clean-dedup', 'id': '392261', 'license': 'MIT', 'n_tokens_mistral': 8253, 'n_tokens_neox': 7843, 'n_words': 1207, 'path': 'Py/ch5_pottery.ipynb', 'repo_name': 'dirkseidensticker/EggertSeidensticker2016CampoAP31', 'size': '19447'}