【问题标题】:Using isin() with使用 isin() 与
【发布时间】:2013-10-24 04:14:15
【问题描述】:

我正在使用熊猫系列,我正在尝试使用isin() 方法来查找该系列的一些成员。但是,对于 pandas 时间戳对象,此功能似乎无法正常工作。

import pandas

data = pandas.date_range('jan-01-2013','jan-05-2013')
s = pandas.Series(data)

print s.iloc[0] == data[0]   # Returns True (correct)
print s.isin(data[0:2])      # Returns a series of all false values (incorrect)

显然,对于第二个 print 语句,预期的结果是该系列的前两个成员为真,其他一切为假。但是,它返回所有错误值。这是一个错误还是我错误地实现了isin()

【问题讨论】:

  • 见讨论here;这有点让人头疼。
  • @DSM 感谢您的链接,它看起来像一个错误,你说得对。所以我的答案只是取出 datetime64 值并且 isin 正在工作,但它不适用于 Timestamp :(
  • 这将在 0.13 中修复(即将推出)

标签: python pandas


【解决方案1】:

它是这样工作的:

s.isin(data[0:2].values)

【讨论】:

  • 注:正如 Jeff 上面所说,这是在解决一个错误。
  • @WesMcKinney 我不是熊猫方面的专家,谢谢你提到这一点。顺便说一句,你能看看这个问题吗 - stackoverflow.com/questions/19597575/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-13
  • 2020-10-29
  • 1970-01-01
  • 2020-05-28
  • 2016-08-02
  • 1970-01-01
相关资源
最近更新 更多