0
点赞
收藏
分享

微信扫一扫

结合diff, shift函数,找出非顺序值所在行

水沐由之 2024-03-12 阅读 9

import pandas as pd
import numpy as np

df = pd.DataFrame(np.arange(10).reshape(2, -1).T)
df.columns = [fr"col{i}" for i in df.columns]
df.iloc[1, 0] = 10
df = df[["col0"]].reset_index(drop=True)

# 结合diff, shift函数,找出非顺序值所在行
# fillna(False)不能省,query无法识别缺失值
# diff必须是数值
df["diff"] = df["col0"].diff()  # 本行-上一行
df["negNum"] = df["diff"] < 0  # 本行<上一行 == True 证明上一行不是顺序
df["notSorted"] = df["negNum"].shift(-1)#.fillna(False)  # 下一行<本行 == True 本行不是顺序
# print(df)

print(
    df.query("notSorted")
)

举报

相关推荐

0 条评论