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

pd.Timestamp与np.datetime64:它们可以互换使用吗?

雷晋
2023-03-14
问题内容

这个问题是由对与in进行比较时提高性能的问题的答案引起的。DatetimeIndex``pandas

该解决方案通过将转换DatetimeIndexnumpy数组,df.index.values然后将该数组与np.datetime64对象进行比较。这似乎是从此比较中检索布尔数组的最有效方法。

一位开发人员对此问题的反馈pandas是:“一般而言,这些都不相同。提供一个numpy解决方案通常是特例,不建议这样做。”

我的问题是:

  1. 它们可以互换一部分操作吗?我赞赏 DatetimeIndex提供了更多功能,但我只需要切片和索引等基本功能。
  2. 可转换为的运算的 结果 是否有任何记载的差异numpy

在我的研究中,我发现一些帖子提到“并非始终兼容”-但似乎都没有结论性的参考文件/文档,也没有说明为什么/通常不兼容的原因。许多其他帖子使用该numpy表示形式而没有评论。


问题答案:

我认为,您应该始终喜欢使用Timestamp-在需要的情况下可以轻松地转换回numpy日期时间。

numpy.datetime64本质上是一个薄包装int64。它几乎没有日期/时间特定的功能。

pd.Timestamp是包装纸的包装纸numpy.datetime64。它由相同的int64值支持,但支持整个datetime.datetime接口以及有用的特定于熊猫的功能。

这两个的数组内表示是相同的-它是int64的连续数组。 pd.Timestamp是一个标量框,使使用单个值更加容易。

回到链接的答案,您可以这样写,它更短,碰巧更快。

%timeit (df.index.values >= pd.Timestamp('2011-01-02').to_datetime64()) & \
        (df.index.values < pd.Timestamp('2011-01-03').to_datetime64())
192 µs ± 6.78 µs per loop (mean ± std. dev. of 7 runs, 10000 loops each)


 类似资料:
  • 我正在使用BeautifulSoup刮取一个URL,并使用以下代码查找标记,其类为: 现在,在上面的代码中,我们可以使用获取标记和与它们相关的信息,但我想使用XPath。是否可以将XPath与BeautifulSoup一起使用?如果可能,请给我提供示例代码。

  • 问题内容: 我正在使用BeautifulSoup抓取网址,并且我有以下代码 现在在上面的代码中,我们可以用来获取标签和与其相关的信息,但是我想使用xpath。是否可以将xpath与BeautifulSoup一起使用?如果可能的话,任何人都可以给我提供示例代码,以使其更有帮助吗? 问题答案: 不,BeautifulSoup本身不支持XPath表达式。 另一种库,LXML, 不 支持的XPath 1.

  • 我有一个简单的流如下: 但Intellij建议我: “filter()”和“map()”可以互换。检查信息:报告流API调用链可以简化。它允许在遍历集合时避免创建冗余的临时对象。例如 collection.stream()→collection.for每个() collection.stream()。 Intellij给出的例子很容易理解,但我不明白为什么它建议我使用。 我查看了的来源,但没有找到

  • 本文向大家介绍它们可以替代HTML5 iframe srcdoc吗?,包括了它们可以替代HTML5 iframe srcdoc吗?的使用技巧和注意事项,需要的朋友参考一下 srcdoc属性指定要在iframe中显示的页面的HTML内容。HTML <iframe>标记用于创建嵌入式框架。 srcdoc 属性的替代方法是:

  • 问题内容: 我对为什么Integer和int可以在Java中互换使用感到困惑,即使一个是原始类型,而另一个是对象也是如此? 例如: 要么 问题答案: 发布的文章的前几句话很好地描述了它: 您不能将int(或其他原始值)放入集合中。集合只能容纳对象引用,因此您必须将原始值装箱到适当的包装器类中(在int情况下为Integer)。当您从集合中取出对象时,您将得到放入的Integer。如果需要一个int

  • 问题内容: 我正在查看Hibernate 配置属性及其可能的值: 所有这些值做什么? 在Hibernate参考文档只是简单地谈论有关,但并没有说明其他任何值: 创建时,自动将模式DDL验证或导出到数据库。使用时,当明确关闭时,将删除数据库模式。 例如 | | | 我在这些堆栈溢出问题中找到了 非常 有用的解释: Hibernate hbm2ddl.auto可能的值及其作用是什么? 模式未放在hbm