Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Combine columns to create a new column

  • apply

{% embed include file="src/examples/pandas/data.csv)

import pandas as pd

filename = 'data.csv'
df = pd.read_csv(filename)

print(df)
print()


def combine_two_columns(row):
    return row['lname'] + '_' + row['fname']

df['combined'] = df.apply(combine_two_columns, axis=1)
print(df)
print()


def combine_more_columns(row):
    columns = ['lname', 'age', 'fname']
    return '_'.join(map(lambda name: str(row[name]), columns))

df['combined'] = df.apply(combine_more_columns, axis=1)
print(df)


Output:

  fname      lname  age
0   Foo        Bar  100
1  Alma     Matter   78
2  Buzz  Lightyear   23

  fname      lname  age        combined
0   Foo        Bar  100         Bar_Foo
1  Alma     Matter   78     Matter_Alma
2  Buzz  Lightyear   23  Lightyear_Buzz

  fname      lname  age           combined
0   Foo        Bar  100        Bar_100_Foo
1  Alma     Matter   78     Matter_78_Alma
2  Buzz  Lightyear   23  Lightyear_23_Buzz