python - 加速 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 中并在那里检查以获得更好的性能?也许散列索引会加快速度,或者可能是这些的组合?
任何提示都非常感谢!
解决方案
推荐阅读
- c# - ConcurrentBag 的附加对象?
- css - 新的学习者问题 - 为什么我的背景颜色不会改变?
- php - PHP 根据键从主数组创建子数组
- python - 为什么 return 给了我声明和 None
- amazon-web-services - 访问受限于 VPC 端点的 S3 网站从 VPC 内部获得 403
- python - Numpy Array(这个答案是什么意思?)
- python-3.x - Python:Webdriver 向下滚动页面停止工作
- ios - SwiftUI:如何动态设置自定义视图大小
- celery - 如何重新排列芹菜花默认列?
- json - 使用 Webpack 文件加载器导入静态 json 文件给出文件路径而不是 json 内容