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.sqrt(df.size))
df = df.iloc[:size**2].values.reshape(size, size)
df = pd.DataFrame(df)
df