为了账号安全,请及时绑定邮箱和手机立即绑定

TypeError: searchsorted 需要兼容的数据类型或标量

TypeError: searchsorted 需要兼容的数据类型或标量

慕标5832272 2022-11-29 17:13:13
我无法在不收到错误的情况下对日期时间索引应用 searchsorted:df.index.searchsorted(pd.Series(np.array([df.index[0], df.index.max()])))>>>TypeError: searchsorted requires compatible dtype or scalar, not ndarray样本数据:x = ['1998-01-07 13:17:00', '1998-01-07 13:18:00', '1998-01-07 13:19:00', '1998-01-07 13:20:00',     '1998-01-07 13:21:00', '1998-01-07 13:22:00', '1998-01-07 13:23:00', '1998-01-07 13:24:00',     '1998-01-07 13:25:00', '1998-01-07 13:26:00']df = pd.DataFrame(x)df.set_index(df.iloc[:, 0], inplace=True)df.index = pd.DatetimeIndex(df.index.values)df.index.searchsorted(pd.Series(np.array([df.index[0], df.index.max()])))为什么它不起作用?(听说这是一个已修复的错误,但不知何故它仍然存在)我怎样才能让它发挥作用?我需要在多处理函数中应用这一行,它需要高效。
查看完整描述

1 回答

?
回首忆惘然

TA贡献1847条经验 获得超11个赞

如错误所述,您将 a 传递给与ndarray数据类型为 的 Seriespandas.Series.searchsorted()不兼容的。因此,要解决此问题,您需要像这样调整给定系列的类型:df.indexpandas.DatetimeIndex


# just change this line

print(df.index.searchsorted(pd.DatetimeIndex([df.index[0], df.index.max()])))

# prints: [0, 9]


查看完整回答
反对 回复 2022-11-29
  • 1 回答
  • 0 关注
  • 58 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号