To analyze a dataset of parsed replays, load the pickled data into memory and convert it into a pandas DataFrame. This allows for filtering by validity, training suitability, and player attributes.
Common analysis tasks include:
- Filtering valid training data: Use
df['valid'] and df['is_training'] to isolate high-quality samples. - Checking for winners: Use
df['winner'].notnull() to ensure a match outcome is recorded. - Grouping by source: Use a mapping function to create a
compact_raw column to group replays by their original dataset/folder (e.g., 'Zain', 'Phillip').
import pandas as pd
import pickle
import os
# Load parsed data
root = '/path/to/replays/'
parsed_path = os.path.join(root, 'parsed.pkl')
with open(parsed_path, 'rb') as f:
data_bytes = f.read()
data = pickle.loads(data_bytes)
df = pd.DataFrame(data)
# Filter for valid training data
training = df[df['valid'] & (df['is_training'] == True)]