【发布时间】:2021-10-09 13:02:57
【问题描述】:
我有两个数据框。
data = {
'Title': ['Ak1', 'Ak2', 'Ak3', 'Ak4', 'Ak5', 'Ak6', 'Ak7', 'Ak8'],
'Items': ['A', 'B', 'J', 'A', 'A', 'K', 'L', 'M'],
'Item2': ['K', 'B', 'O', 'A', 'A', 'K', 'J', 'F'],
'Item3': ['A', 'K', 'D', 'A', 'A', 'K', 'L', 'M'],
}
df = pd.DataFrame(data)
df
Title Items Item2 Item3
0 Ak1 A K A
1 Ak2 B B K
2 Ak3 J O D
3 Ak4 A A A
4 Ak5 A A A
5 Ak6 K K K
6 Ak7 L J L
7 Ak8 M F M
第二个数据帧df2,
data = {
'Remove': ['A', 'J', 'M']
}
df2 = pd.DataFrame(data)
df2
Remove
0 A
1 J
2 M
我想删除 df1 中的所有值,这些值在 df2 中。预期输出如下。
Title Items Item2 Item3
0 Ak1 K
1 Ak2 B B K
2 Ak3 O D
3 Ak4
4 Ak5
5 Ak6 K K K
6 Ak7 L L
7 Ak8 F
【问题讨论】:
-
df = df.mask(df.isin(df2['Remove'].values), '') -
@Ch3steR 你能把这个作为答案发布,以便我接受。
-
svp 发布了类似的答案,您可以接受。如果我现在发布一个重复的答案(两个相似的答案没有任何价值)。