首页 > 解决方案 > 加速 DataFrame 的“在”

问题描述

给定一个 DataFrame,如果它不在 DF 中,我想添加一行。

if state not in df.index:
    # append new state DataFrame
    df = df.append(pd.Series([0] * len(self.actions), index=df.columns, name=state))

state是这样的字符串[0 1 12 36 67 0 14 5 6 4](10 个条目的列表,作为字符串传递)。

对于添加的前几行,这平均需要大约 0.0045 秒。拥有 10.000+ 行已经使它明显变慢了,大约 0.0623 秒,而 100.000+ 行它变成了大约 0.1364 秒......

如果索引已经存在,有什么方法可以加快检查速度?我是 python 新手,但也许有一种方法可以将索引保存在 RAM 中并在那里检查以获得更好的性能?也许散列索引会加快速度,或者可能是这些的组合?

任何提示都非常感谢!

标签: pythondataframeindexing

解决方案


推荐阅读