<jupyter_start><jupyter_text>Data Exploration<jupyter_code>import pandas as pd
from IPython.display import display

def print_sample(file_path: str, print_headers: bool = False) -> pd.DataFrame:
    df = pd.read_csv(file_path)
    metrics = df.columns.values.tolist()[1:] # first one is "workload id"
    
    if print_headers:
        for header in metrics:
            print(header)

#     display(df)
    
    return df<jupyter_output><empty_output><jupyter_text>offline_workload.csv<jupyter_code>offline_workload_path = 'project3_dataset/offline_workload.CSV'
df = print_sample(offline_workload_path)
print(df.info())
df[df['workload id'] == '1-7']
df[['k1', 'k2']].values<jupyter_output><empty_output><jupyter_text>online_workload_B.CSV<jupyter_code>online_workload_b_path = 'project3_dataset/online_workload_B.CSV'
print_sample(online_workload_b_path)<jupyter_output><empty_output><jupyter_text>online_workload_C.csv<jupyter_code>online_workload_c_path = 'project3_dataset/online_workload_C.CSV'
print_sample(online_workload_c_path)<jupyter_output><empty_output><jupyter_text>test.csv<jupyter_code>test_path = 'project3_dataset/test.CSV'
print_sample(test_path)<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.11278195488721804, 'fraction_numerical': 0.007518796992481203, 'mean_word_length': 7.8088235294117645, 'pattern_counts': {'":': 0, '<': 21, '<?xml version=': 0, '>': 22, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '5', 'dir': 'jupyter-structured-clean-dedup', 'id': '135620', 'license': 'Apache-2.0', 'n_tokens_mistral': 465, 'n_tokens_neox': 459, 'n_words': 50, 'path': 'data_exploration.ipynb', 'repo_name': 'treble-maker123/ottertune-clustering', 'size': '1197'}