【发布时间】:2020-11-12 20:47:29
【问题描述】:
如何获取匹配行之前/之后的第 N 行?
df_temp[df_temp.Date == pd.to_datetime(specific_date)]
【问题讨论】:
标签: python pandas dataframe search match
如何获取匹配行之前/之后的第 N 行?
df_temp[df_temp.Date == pd.to_datetime(specific_date)]
【问题讨论】:
标签: python pandas dataframe search match
你可以得到第一个匹配行的索引
idx = df_temp[df_temp.Date == pd.to_datetime(specific_date)].index[0]
然后你可以在(idx-n)之前或之后(idx+n)获取第n行
df_temp.iloc[idx+n]
根据@Ruli 的评论进行编辑:
如果我们想将其构建成一个稳健的解决方案,我们当然必须检查新索引 idx+n 是否在界限内。
我们可以通过对比0 和len(df_temp) 来做到这一点。
new_idx = idx + n
if new_idx >= 0 and new_idx <= len(df_temp)-1:
df_temp.iloc[new_idx]
else:
print(f"Index {new_idx} is out of bounds for DataFrame of size {len(df_temp)}")
【讨论】: