使用DataFrame.diff每行的差异,比较1,检查True每行至少一个,最后一次是否转换为整数:
df['check'] = df.diff(axis=1).eq(1).any(axis=1).astype(int)
print (df)
1 2 3 4 5 6 check
0 5 10 12 35 70 80 0
1 10 11 23 40 42 47 1
2 5 26 27 38 60 65 1
Run Code Online (Sandbox Code Playgroud)
为了提高性能使用numpy:
arr = df.values
df['check'] = np.any(((arr[:, 1:] - arr[:, :-1]) == 1), axis=1).astype(int)
Run Code Online (Sandbox Code Playgroud)