当前位置: 首页 > 面试题库 >

pytables中的“来自表的“ elect max(column)”)的等效项是什么

邹嘉石
2023-03-14
问题内容

我有一个带有很多数值的表,我知道我可以提取该列并对其进行max(),但是可能有一种使用内核方法进行此操作的方法。只是似乎无法找到它。


问题答案:

在我进行的测试中,您可以使用iterrows方法而不是在以下位置将结果提高两倍以上:

In [117]: timeit max(row['timestamp'] for row in table.iterrows(stop=1000000))
1 loops, best of 3: 1 s per loop

In [118]: timeit max(row['timestamp'] for row in table.where('(timestamp<=Tf)'))
1 loops, best of 3: 2.21 s per loop

In [120]: timeit max(frames.cols.timestamp[:1000000])
1 loops, best of 3: 974 ms per loop

In [121]: timeit np.max(frames.cols.timestamp[:1000000])
1 loops, best of 3: 876 ms per loop

请注意,Tf上方是该列的1000000条目(它是Float64)。

由于问题不要求进行比较检查,因此可以省去哪里的测试…请注意,问题中建议的方法(将数据加载为numpy数组)仍然有些快(尽管差异小于3%,并且对于更大的数据集,它变得更小,我没有测试10
^ 7行以上)。我发现使用max numpy函数的最佳结果(请参见上文)。

我也很高兴学习更有效的方法!



 类似资料:
  • 问题内容: 有Swift的等效项吗?在中,我们通常使用: 如何在Swift中实现相同目标?我发现了一个功能: 但是,它很长,根本不方便。 问题答案: 将在斯威夫特的世界同样存在。 的,和参数均标有 该装置的同时调用该函数我们可以忽略这些参数的关键字。在这种情况下,将使用其默认值。 这得出一个结论,该方法调用可以简化为: Swift 5- 没什么变化,仍然可以这样工作。

  • 问题内容: 在TSQL中,我可以声明: 在MySQL中,我无法编写相同的查询。 在MySQL中编写此查询的正确方法是什么? 问题答案: 行尾的分号。

  • 问题内容: LINQ的Java等效项是什么? 问题答案: 现在使用Java 8向我们介绍了Stream API,这在处理集合时是类似的事情,但与Linq不太一样。 如果它是您正在寻找的ORM,例如Entity Framework,那么您可以尝试Hibernate

  • 问题内容: 我有以下代码,该代码将字符串作为输入,并转换为UNIX时间戳。我想在golang中做同样的事情,但我无法识别将在Go中提供等效于DateTimeOffset结构的结构或函数。 例如: 输入:635804753769100000 输出:1444878577 UTC对应时间:10/15/2015 3:09:36 AM +00:00 有人可以帮我解决这个问题,以获得上述结果。 谢谢 问题答案

  • 问题内容: Golang中C ++的等效功能是什么? 根据这里的问题,我可以得到以下声明: 但这将导入整个名称空间。现在我只想使用诸如定义之类的东西 Go中有与此等效的功能,因此我不必一直输入吗? 问题答案: 以下代码在可读性方面接近,但效率较低,因为编译器无法再内联函数调用。 而且,它具有输入名称的副作用,并到该文件的范围,这恐怕是C ++的没有做。

  • 问题内容: 请提出与Shell脚本等效的Python命令。 有没有办法打印/记录Python执行的每个源文件行? 问题答案: 您可以使用跟踪模块: 上面的命令行将在执行代码时显示每一行代码。