Python 大熊猫中.at和.loc的时间复杂度是多少?
我在寻找这些方法的时间复杂度,它是数据帧中行数n的函数 问这个问题的另一种方式是:数据帧的索引是在btrees(具有日志(n)时间查找)还是哈希表(具有恒定时间查找)中Python 大熊猫中.at和.loc的时间复杂度是多少?,python,pandas,performance,data-structures,time-complexity,Python,Pandas,Performance,Data Structures,Time Complexity,我在寻找这些方法的时间复杂度,它是数据帧中行数n的函数 问这个问题的另一种方式是:数据帧的索引是在btrees(具有日志(n)时间查找)还是哈希表(具有恒定时间查找)中 问这个问题是因为我想要一种基于自定义索引对数据帧中的行进行固定时间查找的方法。好的,这样看起来: 1) 您可以在一个数据帧上构建自己的索引,在O(n)时间内使用.set_index,其中n是数据帧中的行数 2) 当您第一次尝试使用该索引访问行时,该索引将被延迟初始化和构建(在O(n)时间内)。因此,第一次使用该索引访问一行需要O
问这个问题是因为我想要一种基于自定义索引对数据帧中的行进行固定时间查找的方法。好的,这样看起来: 1) 您可以在一个数据帧上构建自己的索引,在O(n)时间内使用.set_index,其中n是数据帧中的行数
2) 当您第一次尝试使用该索引访问行时,该索引将被延迟初始化和构建(在O(n)时间内)。因此,第一次使用该索引访问一行需要O(n)个时间 3) 所有后续行访问都需要固定时间
因此,看起来索引是哈希表,而不是btrees。“当您第一次尝试使用该索引访问行时,索引是惰性地初始化和构建的(在O(n)时间内)。”是吗?你有这样的文档链接吗?@juanpa.arrivillaga Wes引用了klib的khash,我相信他们在索引中使用了khash。@juanpa.arrivillaga没有。因此序言“看起来是这样的”。如果我能够找到这方面的文档,我就不会问这个问题:)使用我构建的自定义索引访问数据帧中约10万行的第一行需要约3秒钟。之后的一切都花了几毫秒。我曾多次目睹过这种行为。¯\_(ツ)_/''另一个相关职位。