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

忽略使用pandas“where”引发的字符串

忽略使用pandas“where”引发的字符串

冉冉说 2023-09-05 20:49:16
我想知道当我将值从数字重新标记为字符串时,是否有办法跳过字符串:s = pd.Series(np.arange(1,100,1))我想做的是从样本数据中获取第一个和第二个标准差:s = s.where((s <= s.std() *1) & (s >= s.std() *-1), "1_StDev", errors="ignore") s = s.where((s <= s.std() *2) & (s >= s.std() *-2), "2_StDev", errors="ignore")但尽管将错误参数设置为 ,我的代码似乎仍然返回错误"ignore"。另外,我想知道pd.cut这里是否可行。如果是这样,请教我如何做。
查看完整描述

1 回答

?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

在这里,您可以使用np.select

conditions = [(s <= s.std() *1) & (s >= s.std() *-1), 

              (s <= s.std() *2) & (s >= s.std() *-2)]

choices = ["1_StDev", "2_StDev"]


s = pd.Series(np.select(conditions, choices))

对于条件不匹配的值,最好按照 @Chris 建议设置默认值。


s = pd.Series(np.select(conditions, choices, default=s))


查看完整回答
反对 回复 2023-09-05
  • 1 回答
  • 0 关注
  • 64 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信