Both the  operator and .insert() method modify the target data frame in-place. If a new data frame with the additional columns is desired (leaving the original unchanged) then we can use the pd.concat() function. This function creates a new data frame with all of the specified DataFrame objects concatenated in the order of specification.
This following creates a new DataFrame with a single column containing the rounded price. It then uses pd.concat() with axis=1 to signify that the given DataFrame objects should be concatenated along the columns axis (as compared to rows which would use axis=0) .