我正在尝试编写一个Tic-Tac-Toe Bot,以使用过去游戏的CSV文件分析其获胜的机会。我的问题在于代码运行以下代码的速度如何:(与当前游戏匹配并获胜的过去游戏数量)/(与当前游戏匹配的过去游戏数量)。有没有一种更快的方法可以在pandas模块中生成该百分比,或者根本没有?
该CSV文件的格式为:游戏,结果,大约有4,000,000个条目,这可能会使它变慢,所以我想知道是否有更好的方法?
问题代码:
data = pd.read_csv("Result_data.csv", dtype={"game":"object","outcome":"object"})
def chances(path):
global data
return round(data[(data.game.str.startswith(path))&(data.outcome == "W")].shape[0]
/data[data.game.str.startswith(path)].shape[0],4) * 100
path
是一个介于1到9个字符之间的字符串,它代表数据集的游戏列中(可能是多个)条目的前缀。如果您需要更多信息,请在下面发表评论!