Convierta el marco de datos completo de minúsculas a mayúsculas con Pandas

Tengo un marco de datos como el que se muestra a continuación:

# Create an example dataframe about a fictional army
raw_data = {'regiment': ['Nighthawks', 'Nighthawks', 'Nighthawks', 'Nighthawks'],
            'company': ['1st', '1st', '2nd', '2nd'],
            'deaths': ['kkk', 52, '25', 616],
            'battles': [5, '42', 2, 2],
            'size': ['l', 'll', 'l', 'm']}
df = pd.DataFrame(raw_data, columns = ['regiment', 'company', 'deaths', 'battles', 'size'])

Mi objetivo es transformar cada cadena individual dentro del marco de datos en mayúsculas para que se vea así:

Aviso: todos los tipos de datos son objetos y no deben modificarse; La salida debe contener todos los objetos. Quiero evitar convertir cada columna una por una ... Me gustaría hacerlo generalmente en todo el marco de datos posiblemente.

Lo que intenté hasta ahora es hacer esto, pero sin éxito.

df.str.upper()