【发布时间】:2022-12-09 16:39:08
【问题描述】:
样本数据:
sample_data = [
{'Case #': 'A25', 'Parent Case #': 'A24', 'Data': 'Blah blah'},
{'Case #': 'B46', 'Parent Case #': nan, 'Data': 'Waka waka'},
{'Case #': 'B89', 'Parent Case #': 'B46', 'Data': 'Moo moo'},
{'Case #': 'C12', 'Parent Case #': nan, 'Data': 'Meow'},
{'Case #': 'C44', 'Parent Case #': nan, 'Data': 'Woof'},
{'Case #': 'C77', 'Parent Case #': 'C12', 'Data': 'Hiss'},
{'Case #': 'D55', 'Parent Case #': 'D2', 'Data': 'Ribbet'}
]
df = pd.DataFrame(sample_data)
数据包含可能有也可能没有父案例的案例(即,他们可能是孩子,也可能不是)。没有孙子/最大深度 = 1。
但是,该数据集中不存在一些引用的父母,因此这些案例实际上是孤儿。
出于我的数据的目的,只需删除对父项的引用就可以满足孤儿的要求。我可以这样识别这些孤儿:
df.loc[~df["Parent Case #"].isna() & ~df2["Parent Case #"].isin(df2["Case #"].values)]
对于这两个匹配的行,我想删除“Parent Case #”引用(使该值nan/仅对这两行为空)。我该怎么做呢?我觉得我只是错过了最后一步。我不确定如何使用我的条件及其 & 逻辑进行分配。
【问题讨论】: