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

选择行匹配条件,也可以选择上一行和下一行

选择行匹配条件,也可以选择上一行和下一行

慕尼黑的夜晚无繁华 2023-07-27 09:48:50
我试图选择 Dataframe 中满足条件的行,以及它之前和之后的行(即使这些行不满足条件。)条件是df['col1']中的值小于100idx=df.index[df['col1']<100]df.loc[idx]给我匹配条件 df['col1']<100 的所有行为了同时获得上面一行和下面一行,我尝试使用切片,df.iloc[idx-1:idx+1]但收到错误消息TypeError:无法使用这些索引器 [Int64Index([ 23362, 23363, 23364, 23365, 23366, 23367, 23368, 23369, 23370, 23371, .. . 129089, 129154, 129155, 129156, 129157, 129158, 129159, 129160, 129161, 129162], dtype='int64', length=7851)] of <class 'pandas.core.indexes.numeric.Int64索引'>
查看完整描述

1 回答

?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

你已经有了 bool 所以不需要过滤它index,我们可以做shift面具

m = df['col1']<100
df = df[m.shift(-1)|m.shift()|m]


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

添加回答

举报

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