set everything except main diabonal to 0 in dataframe code example
Example: How to replace both the diagonals of dataframe with 0 in pandas
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randint(1,100, 100).reshape(10, -1))
out = df.where(df.values != np.diag(df),0,df.where(df.values != np.flipud(df).diagonal(0),0,inplace=True))