The Pandas apply()
function can be used to apply a function on every value in a column or row of a DataFrame, and transform that column or row to the resulting values.
By default, it will apply a function to all values of a column. To perform it on a row instead, you can specify the argument axis=1
in the apply()
function call.
# This function doubles the input valuedef double(x):return 2*x# Apply this function to double every value in a specified columndf.column1 = df.column1.apply(double)# Lambda functions can also be supplied to `apply()`df.column2 = df.column2.apply(lambda x : 3*x)# Applying to a row requires it to be called on the entire DataFramedf['newColumn'] = df.apply(lambda row:row['column1'] * 1.5 + row['column2'],axis=1)
Pandas DataFrames allow for the addition of columns after the DataFrame has already been created, by using the format df['newColumn']
and setting it equal to the new column’s value.
# Specifying each value in the new column:df['newColumn'] = [1, 2, 3, 4]# Setting each row in the new column to the same value:df['newColumn'] = 1# Creating a new column by doing a# calculation on an existing column:df['newColumn'] = df['oldColumn'] * 5