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