我有一个数据框。 第一行中的任何地方都有一个符合我的条件的唯一值。 例如t = 800
现在我想找到该值所在的行,并从前n行中选择,直到其后n行。
我尝试过:
idx = df[df['t']==stime]
from_idx = idx-1200
to_idx = idx + 1200
vib = df.iloc[to_idx:from_idx]
它找到符合我条件的行,但是我无法从数据框中获得正确的选择
答案 0 :(得分:2)
idx
是pd.DataFrame
对象,而不是表示行索引的标量。如果提取标量索引,则假设索引是唯一的,则可以使用pd.Index.get_loc
获取整数位置:
idx = df.index.get_loc(df[df['t'] == stime].index[0])
vib = df.iloc[idx - 1200: idx + 1200]