逐行判断表格的某一列是否包含对应另一列的内容
  X5zJxoD00Cah 2023年11月02日 37 0
my_df = pd.DataFrame([["a", "a1"],["b", "b1"],["c", "a1"]], columns=["字符", "字符串"])

# 逐行判断,表格中某一列是否包含对应另一列的完整字符串内容
my_df.apply(lambda row: row.字符 in row.字符串, axis=1)

# 判断表格中某一列是否包含另一列的(任意行)的完整字符串内容
my_df.字符串.apply(lambda x: x in my_df.字符串.values)  # apply默认对列操作axis=0

先apply判断,再where替换,不能同时

# 逐行判断,如果"判断"列为真,表格中某一列是否包含对应另一列的完整字符串内容

# 不能将上述apply公式用在np.where函数中,因结果是一个列表
# 所以需要先apply生成一个列表,再where替换

# pd.Series.where 如果不为真,则替换,否则默认不替换
# https://blog.51cto.com/u_16055028/6229971

my_df = pd.DataFrame([["a", "a1", True],["b", "b1", False],["c", "a1", True]], columns=["字符", "字符串", "判断"])
my_df["检查"] = my_df.apply(lambda row: row.字符 in row.字符串, axis=1)

my_df["检查"].where(
    my_df.判断,
    "未通过",
    inplace=True  # 否则不覆盖
)
my_df.query('''
    检查 != True  # 不能用is,not进行判断
''')
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

X5zJxoD00Cah