python add columns to dataframe without changing the original 1

python add columns to dataframe without changing the original

#given an original pandas.DataFrame named 'df', and the data series that we want to associate with the new column named 's', 3 possible solutions:

#1-Use "assign()" to create new column and then assign values to it
df_w_new_col = df.assign (name='New_Col')

#2-create an aditional Dataframe with just the new column to add and concatenate with the old dataframe. Like a great majority of pandas methods, this actually creates a new df, it does not just concatenate to the old one so it is safe to change the old and new df's independetly
df = pd.concat( [df, pd.DataFrame({'New_Col:s})], axis=1 )

#3-explicitely create a copy and append a column
df2 = df.copy()
df2['New_Col'] = s

Here is what the above code is Doing:
1. Create a new dataframe with just the new column
2. Concatenate the new dataframe with the old one
3. Create a copy of the old dataframe
4. Add the new column to the copy

Similar Posts