Skip to content

Instantly share code, notes, and snippets.

@MaxHalford
Last active December 15, 2022 23:15
Show Gist options
  • Save MaxHalford/32ed2c80672d7391ec5b4e6f291f14c1 to your computer and use it in GitHub Desktop.
Save MaxHalford/32ed2c80672d7391ec5b4e6f291f14c1 to your computer and use it in GitHub Desktop.
import pandas as pd
cards = pd.read_csv('archive/hearthstone_standard_cards.csv')
cards['multiClassIds'] = cards['multiClassIds'].map(eval)
cards = cards.explode('multiClassIds')
cards['multiClassIds'] = cards['multiClassIds'].fillna(cards['classId'])
classes = pd.read_csv('archive/metadata/classes.csv', index_col='id')
cards['class'] = cards['multiClassIds'].map(classes['name'])
types = pd.read_csv('archive/metadata/types.csv', index_col='id')
cards['type'] = cards['cardTypeId'].map(types['name'])
rarities = pd.read_csv('archive/metadata/rarities.csv', index_col='id')
cards['rarity'] = cards['rarityId'].map(rarities['name'])
minion_types = pd.read_csv('archive/metadata/minionTypes.csv', index_col='id')
cards['minion_type'] = cards['minionTypeId'].map(minion_types['name'])
spell_schools = pd.read_csv('archive/metadata/spellSchools.csv', index_col='id')
cards['spell_school'] = cards['spellSchoolId'].map(spell_schools['name'])
cards['type_or_school'] = cards['minion_type'].fillna(cards['spell_school']).fillna('Normal')
cards.set_index('id')[['class', 'type', 'rarity', 'type_or_school']].to_csv('hearthstone_cards.csv')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment