Given the table below is dataset, There are 4 columns and first 14 rows of the dataset is given but there are over 10,000 rows. In a order there are multiple products being sold to a client.

I want to find out, Across all orders which pair of product categories appears the most? example (Cat1 and Cat2)

Use any python libraries like numpy, pandas, etc. solve using python only

Note - there are only 3 categories and product ID is unique column, Order ID and Client Id are not repeated.

```
OrderID ProdID Prodcategory Client ID
4997    1   Cat 1   21
4997    2   Cat 1   22
4997    3   Cat 2   23
4997    4   Cat 3   24
2001    5   Cat 1   25
2001    6   Cat 2   26
2001    7   Cat 2   27
2001    8   Cat 2   28
2001    9   Cat 3   29
2376    10  Cat 3   30
2376    11  Cat 1   31
2376    12  Cat 2   32
2376    13  Cat 3   33
2376    14  Cat 1   34

```

I want the pairs that appear the most accross all orders. For example in Order 4997 (Cat 1, Cat 2) (Cat 2, Cat 3) and (Cat 1, Cat 3 ) all appear one time. In order 2001, (Cat 1, Cat 2) (Cat1, Cat 3) (Cat 2, Cat 3) appear once In total, I want among all the orders which pair has most value count i.e appears the most

My approach

```
# Import required libraries
import pandas as pd
import matplotlib.pyplot as plt

# Read the data into the dataframe
#df = pd.read_clipboard()
df

df.columns

df["Product category "].value_counts()

mylabels = ['Cat 2', 'Cat 1', 'Cat 3']
plt.pie(df["Product category "].value_counts(), labels = mylabels)
plt.show() 

```

But this approach only shows, overall value counts and not repeated pairs