基于键比较两个数据框时出错

时间:2019-11-06 23:30:56

标签: python pandas

我有两个数据帧,并且试图比较两个数据帧,因此如果df1的值在df中,则删除该行。我列出了这两列,它们的名称完全相同。

因此,在下面的代码中,我将列重命名为另一个数据框(df3),以便可以将它们合并为新的数据框(df1)。我试图将索引设置为许可值,但不希望删除索引(因为我想保留许可号),然后进行比较。

df   Permit Number  Sub Permit   
     BLD-00045         NaN          
     ELE-2019        BLD-00045     
     PLM-2018        BLD-00045     
df1  Permit Number    Sub Permit    
     BLD-00001         NaN          
     ELE-2019         BLD-00045     
     PLM-7777         BLD-00045     

所以我的目标是保留BLD-00045和PLM-7777行,但删除ELE-2019行,因为它在两个数据帧之间相等。

df3.rename(columns={'permit_num': "Permit Number"}, inplace=True)
df1 = pd.merge(df, df3, on='Permit Number')
df.set_index('Permit Number', inplace=False)
df1.set_index('Permit Number', inplace=False)
df = df.loc[df['Permit Number'] != df1['Permit Number']]
print(df)

我不断收到ValueError:只能比较标记相同的Series对象。

0 个答案:

没有答案