我正在尝试这一方法,但是它将它们加在一起而不是减去。
df1 = pd.concat([df,cite_id]).drop_duplicates(keep=False)[['id','website']]
df
是主要数据帧
cite_id
是必须减去的数据帧。
答案 0 :(得分:2)
import pandas as pd
df1 = pd.read_csv("1.csv")
df2 = pd.read_csv("2.csv")
df1 = df1.dropna().drop_duplicates()
df2 = df2.dropna().drop_duplicates()
df = df2.loc[~df2.id.isin(df1.id)]
答案 1 :(得分:2)
您可以使用'isin'有效地做到这一点
df.dropna().drop_duplicates()
cite_id.dropna().drop_duplicates()
df[~df.id.isin(cite_id.id.values)]
或者您可以合并它们并仅保留具有NaN的行
df[pd.merge(cite_id, df, how='outer').isnull().any(axis=1)]
答案 2 :(得分:1)
您可以将两个数据帧连接为一个,然后删除所有重复项
console.log(error.message)
出局:
df1
ID B C D
0 A0 B0 C0 D0
1 A1 B1 C1 D1
2 A2 B2 C2 D2
3 A3 B3 C3 D3
cite_id
ID B C D
4 A2 B4 C4 D4
5 A3 B5 C5 D5
6 A6 B6 C6 D6
7 A7 B7 C7 D7
pd.concat([df1,cite_id]).drop_duplicates(subset=['ID'], keep=False)