С учетом вашего кода:
df = pd.ExcelFile('C:\\Users\\Andre\\Desktop\\Scraps\\abacus.xlsx')
sheet1 = pd.read_excel(df, 'Sheet1')
sheet2 = pd.read_excel(df, 'Sheet2')
Здесь sheet1
и sheet2
- это фреймы данных для соответствующих листов.
Вы хотите проверить, есть ли для определенного столбца значения Sheet1 присутствуют в том же столбце листа2.
Рассмотрим пример ниже:
In [1898]: sheet1
Out[1898]:
id_col1 id_col2 name age sex
0 101 1M NaN 21 NaN
1 101 3M NaN 21 M
2 102 1M Mark 25 NaN
In [1899]: sheet2
Out[1899]:
id_col1 id_col2 name age sex
0 101 1M Steve NaN M
1 101 2M NaN NaN M
2 101 3M Steve 25.0 None
3 102 1M Ria 25.0 M
4 102 2M Anie 22.0 F
Из приведенных выше фреймов данных столбцы id_col1
присутствуют как в листе 1, так и в листе 2.
Итак, давайте проверим, все ли значения id_col1
из листа1 присутствуют в id_col1
листа2.
In [1900]: sheet1['id_col1'].isin(sheet2['id_col1'])
Out[1900]:
0 True
1 True
2 True
Name: id_col1, dtype: bool
Вы можете иметь for
l oop и сделать то же самое для всех столбцов :
In [1902]: for col in sheet1.columns.tolist():
...: print(sheet1[col].isin(sheet2[col]))
...:
0 True
1 True
2 True
Name: id_col1, dtype: bool
0 True
1 True
2 True
Name: id_col2, dtype: bool
0 True
1 True
2 False
Name: name, dtype: bool
0 False
1 False
2 True
Name: age, dtype: bool
0 False
1 True
2 False
Name: sex, dtype: bool