import numpy as np
import pandas as pd
# create a sample dataframe
df = pd.DataFrame({'A': [1, 2, -3, 4], 'B': [-5, 6, 7, -8], 'C': [9, -10, 11, 12], 'D': [13, -14, 15, -16]})
# remove negative values
df = df.mask(df < 0, 0)
# reshape to the largest possible square
size = int(np.floor(np.sqrt(df.size)))
df = df.to_numpy()[:size**2].reshape(size, size)
df = pd.DataFrame(df)
df