How to use df.groupby() to select and sum specific columns w/o pandas trimming total number of columns
I think the answer depends on what you want to do with column 6. Keep in mind that the values for column6 may be different for each groupby on columns 3,4 and 5, so you will need to decide which value to display. Typically, when using a groupby, you need to include all columns that you want to be included in the result, in either the groupby part or the statistics part of the query.
If you don't want to group by that column, you can just display the min or mode value. In general, if you want to calculate statistics on some columns and keep multiple non-grouped columns in your output, you can use the agg function within the groupyby function.
Example with most common value for column6 displayed:
df.groupby('Column1').agg({'Column3': ['sum'], 'Column4': ['sum'], 'Column5': ['sum'], 'Column6': pd.Series.mode})

Full example with code:

If there is a tie for most common, with one Mary and one Jane both being Female Engineers, this will generate an error as mode doesn't reduce to a single answer:

You will need to use another aggregate in that case, such as min, which will choose Jane as an alphanumeric min:

If you don't like the look of the multi-index, you can remove it using as_index=False and replacing the column names with a list(map(...join...))

or remove it using to_flat_index() which gives a slightly different format for the columns: