Counter Strike
Об источнике данных
Данные для практических заданий взяты из открытого датасета CS:GO Round Winner Classification автора Christian Lillelund, размещённого на Kaggle по адресу:
https://www.kaggle.com/datasets/christianlillelund/csgo-round-winner-classification (opens in a new tab)
Оригинальный датасет распространяется под лицензией Kaggle Community Data License Agreement (CDLA), которая разрешает образовательное использование, модификацию и распространение при условии указания авторства и соблюдения ограничений на коммерческое применение.
Получение данных
В учебной версии (урезанной нами) вес файла - около 0.8 МБ, он содержит 2 000 строк данных (в оригинальной версии 122411 строк и вес файла - 50 МБ).
Скачайте файл по ссылке ниже и сохраните его локально:
Скачать csgo_round_snapshots.csv
В итоге у вас должен быть файл csgo_round_snapshots.csv, сохранённый в папке deproschool/2_counter-strike.
Если хотите быстро посмотреть данные без скачивания и без авторизации, откройте вкладку Data Card на странице датасета в Kaggle.
Там в блоке Data Explorer можно увидеть строки в виде таблицы, список столбцов и краткую статистику по колонкам, также разверуть таблицу на весь экран для удобства просмотра, нажав на иконку, как показано на скриншоте ниже:
Посмотреть csgo_round_snapshots.csv онлайн
(opens in a new tab)
Структура данных
Чтобы понять, с какими данными мы будем работать, рассмотрим структуру данных в файле csgo_round_snapshots.csv.
Одна строка в этом файле - это один раунд в Counter-Strike.
Создайте новый файл counterstrike.py в папке deproschool/2_counter-strike, структура проекта должна выглядеть так:
В этом файле counterstrike.py будем писать код.
Для начала просто выявим количество строк:
import fire
import csv
def count_csv_rows() -> str:
with open('csgo_round_snapshots.csv', 'r', encoding='utf-8') as file:
reader = csv.reader(file)
row_count = sum(1 for _ in reader)
return f"Количество строк данных: {row_count}"
if __name__ == "__main__":
fire.Fire()Запустите эту функцию, чтобы проверить корректность загрузки данных и увидеть количество строк. Это позволит убедиться, что файл доступен и содержит ожидаемый объём информации.
cd deproschool/2_counter-strike/
python counterstrike.py count_csv_rowsВы должны увидеть вывод с количеством строк данных, например:
Количество строк данных: 2001.
Теперь посмотрим на первые несколько строк данных, чтобы понять их структуру. Добавьте в counterstrike.py новую функцию:
def preview_csv_data(num_rows: int = 5):
with open('csgo_round_snapshots.csv', 'r', encoding='utf-8') as file:
reader = csv.reader(file)
for _ in range(num_rows):
print(next(reader))Запустите эту функцию, чтобы увидеть первые строки данных:
python counterstrike.py preview_csv_data --num_rows=5
Вы увидите первые 5 строк данных, которые помогут вам понять, какие столбцы присутствуют и какую информацию они содержат. Это важный шаг для дальнейшего анализа и обработки данных.