python-基于与另一个列表的值匹配在数据帧中删除行
在我的数据帧(df)中,对于每一行,我需要删除node1和node2列中的值与另一个列表(组)匹配的行 在本例中,df的第0行和第3行的值都与我的组列表匹配,因此我需要删除这些行。 我的新数据帧将是:python-基于与另一个列表的值匹配在数据帧中删除行,python,pandas,Python,Pandas,在我的数据帧(df)中,对于每一行,我需要删除node1和node2列中的值与另一个列表(组)匹配的行 在本例中,df的第0行和第3行的值都与我的组列表匹配,因此我需要删除这些行。 我的新数据帧将是: df2 = pd.DataFrame(dict(node1=["A","B","D"], node2=["D","E","G"])) > df2 node1 n
df2 = pd.DataFrame(dict(node1=["A","B","D"], node2=["D","E","G"]))
> df2
node1 node2
0 A D
1 B E
2 D G
尝试使用.isin()
和.all(1)
将熊猫作为pd导入
df=pd.DataFrame(dict(node1=[“A”、“A”、“B”、“C”、“D”],node2=[“B”、“D”、“E”、“F”、“G”]),列=[“node1”、“node2”])
组=[“A”、“B”、“C”、“F”]
df=df.loc[~(df[“node1”].isin(组))和(df[“node2”].isin(组))]
df2 = pd.DataFrame(dict(node1=["A","B","D"], node2=["D","E","G"]))
> df2
node1 node2
0 A D
1 B E
2 D G
df.loc[~df.isin(groups).all(1)]
#output:
node1 node2
1 A D
2 B E
4 D G