Use a chess engine to analyze moves.
stockfish = "stockfish_14_linux_x64_popcnt/stockfish_14_x64_popcnt" # location of stockfish executable or alias
engine = chess.engine.SimpleEngine.popen_uci(stockfish)
pgn = open("data/magnus.pgn")
game = chess.pgn.read_game(pgn)
game.headers
evals = evaluate_game(game, engine)
evals
pgn = open("data/magnus.pgn")
evals = evaluate_pgn(pgn, engine)
evals.head()
evals.to_csv("data/magnus_evals.csv")