比较两个不同excel文件(python、pandas)之间的列

比较两个不同excel文件(python、pandas)之间的列,python,excel,pandas,dataframe,Python,Excel,Pandas,Dataframe,我想比较两个不同excel文件的列和行。我想将文件1中“类别2”的值与文件2中“组”列表的值进行比较。如果file2的值在file1中不存在,请从file2中删除该行。我一直在四处寻找,尝试了一些不同的东西,但找不到任何具体的我想做的事情。如果有必要,我可以从file1中删除像“All List”和“List X”这样的标题,但是在比较方面,我真的不知道如何前进。我非常感谢任何帮助或指点,或者知道这是否可能。多谢各位 df1 = pd.read_excel('file1', 'Table 3')

我想比较两个不同excel文件的列和行。我想将文件1中“类别2”的值与文件2中“组”列表的值进行比较。如果file2的值在file1中不存在,请从file2中删除该行。我一直在四处寻找,尝试了一些不同的东西,但找不到任何具体的我想做的事情。如果有必要,我可以从file1中删除像“All List”和“List X”这样的标题,但是在比较方面,我真的不知道如何前进。我非常感谢任何帮助或指点,或者知道这是否可能。多谢各位

df1 = pd.read_excel('file1', 'Table 3')
df2 = pd.read_excel('file2.xlsx')

# difference = df1[df1!=df2]
# print(df1.equals(df2))

print(df1['Category 2']).where(df1['Courses']) == df2['Group']
文件1

文件2

期望输出:

Group   Manager     quarter1    quarter2    quarter3    quarter4                total
element2    A           $          $           $           $                      $
card3       C           $          $           $           $                      $
box4        D           $          $           $           $                      $
element3    E           $          $           $           $                      $
box1        F           $          $           $           $                      $
card7       D           $          $           $           $                      $
element4    E           $          $           $           $                      $
您可以使用来检查
df2[“Group”]
中的元素是否包含在
df1[“Category_2”]
中,这将返回一个
True/False
序列,当与
index
一起应用时,该序列可用于删除不需要的行(
df2.drop(df2[notCateg].index)

您可以使用来检查
df2[“Group”]
中的元素是否包含在
df1[“Category_2”]
中,这将返回一个
True/False
序列,当与
index
一起应用时,该序列可用于删除不需要的行(
df2.drop(df2[notCateg].index)

Group   Manager     quarter1    quarter2    quarter3    quarter4                total
element2    A           $          $           $           $                      $
notElement  B           $          $           $           $                      $
card3       C           $          $           $           $                      $
box4        D           $          $           $           $                      $
element3    E           $          $           $           $                      $
box1        F           $          $           $           $                      $
notElement  B           $          $           $           $                      $
notElement  C           $          $           $           $                      $             
card7       D           $          $           $           $                      $
element4    E           $          $           $           $                      $
Group   Manager     quarter1    quarter2    quarter3    quarter4                total
element2    A           $          $           $           $                      $
card3       C           $          $           $           $                      $
box4        D           $          $           $           $                      $
element3    E           $          $           $           $                      $
box1        F           $          $           $           $                      $
card7       D           $          $           $           $                      $
element4    E           $          $           $           $                      $
df1 = pd.read_excel('file1', 'Table 3')
df2 = pd.read_excel('file2.xlsx')

notCateg = ~df2["Group"].isin(df1["Category_2"])
df2 = df2.drop(df2[notCateg].index)
df2.reset_index(drop=True, inplace=True)
print(df2)
      Group Manager quarter1 quarter2 quarter3 quarter4 total
0  element2       A        $        $        $        $     $
1     card3       C        $        $        $        $     $
2      box4       D        $        $        $        $     $
3  element3       E        $        $        $        $     $
4      box1       F        $        $        $        $     $
5  element4       E        $        $        $        $     $